有一段代码,用spring quartz作为定时调度。
调度代码,一直都是好的,可以自动从数据库中抓出任务并加载。
最近将一个在其他地方运行的很好的配置文件及类配置到Schedule里面去,神奇的事情出现了。
标题的错误,总是说无法自动注入SchedulerFactoryBean。
在本机试了多样方法都没有用,后来,项目删掉重新Checkout好了。
不过,到了服务器上,同样的问题,把项目删了重新部署。。不行。
最后,在想是不是,加载时的先后顺序问题,就试着,在设定org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean时,加入了depends_on属性。
重启启动。。搞定。
比如:
<bean id="loadEDMGroupList"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" depends-on="edmService">
<property name="targetObject" ref="edmService" />
<property name="targetMethod" value="loadGroupList" />
</bean>