java - NullPointerException when creating a Scheduler Bean with Spring -
i trying use spring create scheduler.
@configuration @enablescheduling public class myscheduler { @autowired mybusinessservice businessservice; @scheduled(cron = "* * * * * *") public void mycronmethod() { } } during application startup following error:
java.lang.nullpointerexception @ org.springframework.scheduling.annotation.scheduledannotationbeanpostprocessor.resolveschedulerbean(scheduledannotationbeanpostprocessor.java:281) @ org.springframework.scheduling.annotation.scheduledannotationbeanpostprocessor.finishregistration(scheduledannotationbeanpostprocessor.java:221) @ org.springframework.scheduling.annotation.scheduledannotationbeanpostprocessor.onapplicationevent(scheduledannotationbeanpostprocessor.java:200) @ org.springframework.scheduling.annotation.scheduledannotationbeanpostprocessor.onapplicationevent(scheduledannotationbeanpostprocessor.java:94) @ org.springframework.context.event.simpleapplicationeventmulticaster.invokelistener(simpleapplicationeventmulticaster.java:167) @ org.springframework.context.event.simpleapplicationeventmulticaster.multicastevent(simpleapplicationeventmulticaster.java:139) @ org.springframework.context.support.abstractapplicationcontext.publishevent(abstractapplicationcontext.java:383) @ org.springframework.context.support.abstractapplicationcontext.publishevent(abstractapplicationcontext.java:337) @ org.springframework.context.support.abstractapplicationcontext.finishrefresh(abstractapplicationcontext.java:882) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:545) @ org.springframework.web.context.contextloader.configureandrefreshwebapplicationcontext(contextloader.java:444) @ org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader.java:326) @ org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener.java:107) @ org.apache.catalina.core.standardcontext.listenerstart(standardcontext.java:5068) @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5584) @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:147) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1572) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1562) @ java.util.concurrent.futuretask.run(futuretask.java:266) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) @ java.lang.thread.run(thread.java:745) in scheduledannotationbeanpostprocessor holder null:
namedbeanholder<t> holder = ((autowirecapablebeanfactory) this.beanfactory).resolvenamedbean(schedulertype); the schedulertype is:
interface org.springframework.scheduling.taskscheduler the application jsf application. im using java 8 , spring version 4.3.6, ant , without dependency management, missing libraries or library mismatch possibility.
having had same error in kotlin application, workaround manually add taskscheduler application configuration:
the java example taken from here.
@bean public threadpooltaskscheduler threadpooltaskscheduler(){ threadpooltaskscheduler threadpooltaskscheduler = new threadpooltaskscheduler(); threadpooltaskscheduler.setpoolsize(5); threadpooltaskscheduler.setthreadnameprefix( "threadpooltaskscheduler"); return threadpooltaskscheduler; } my kotlin version is
@bean fun threadpooltaskscheduler() = threadpooltaskscheduler().apply { setpoolsize(5) setthreadnameprefix("threadpooltaskscheduler") } (i've not yet tried it, believe upgrading spring 5 fix - this commit throws exception null pointer have been generated.)
Comments
Post a Comment