spring定时器,quartz 的用法,如何指定JobDetailBean类的属性jobClass对象的同时,给其注入其它对象?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring定时器,quartz 的用法,如何指定JobDetailBean类的属性jobClass对象的同时,给其注入其它对象?相关的知识,希望对你有一定的参考价值。
简单来说,我的意思是:如果在用定时器指定一个定时任务类的同时,给该类注入sqlMapClient对象
spring定时器,quartz 的用法,JobDetailBean类的属性jobClass对象如何指定,并且在调用该类(定时任务所在的类)时给其注入sqlMapClient对象
1:<property name="jobClass">
2: <value>govstock.timerTask.JobAction</value>
3:<!-- <ref local="JobAction"/> -->
4: </property>
5:<bean id="JobAction" class="govstock.timerTask.JobAction">
6: <property name="sqlMap"><ref bean="sqlMap"/></property>
7: </bean>
如果把第二行注释掉,把第三行放开,则启动时报 jobClass 类不匹配的错误
如果把第三行注释掉,把第二行放开,则可以正常启动,但无法实现给定时任务所在的类注入sqlMapClient对象
不支持注解!
实现接口ApplicationContextAware
实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。Spring初始化时,会通过该方法将ApplicationContext 对象注入。
直接在你的JobAction代码里面动态取bean sqlMap就是了 参考技术A 不能通过autoWired注解来注入么,注解注入的方式还是比较方便的。@Resource也行,推荐用这个了好像 。实在不行你就别注入了,直接new类好了,反正与访问无关吧。 参考技术B 试试 <ref bean="JobAction"/> 参考技术C 百度一下
以上是关于spring定时器,quartz 的用法,如何指定JobDetailBean类的属性jobClass对象的同时,给其注入其它对象?的主要内容,如果未能解决你的问题,请参考以下文章
spring quartz定时任务集群环境下如何实现只在单个节点运行