Quartz2.x学习笔记(四):spring注入异常解决方法
来源:互联网 发布:淘宝怎么设置快递模板 编辑:程序博客网 时间:2024/04/29 14:53
在使用Quartz与spring整合时,有时需要在Job任务类里注入spring的bean。如下:
那么问题来了,当你启动项目时,会发现报了空指针异常:
查阅资料以及百度之后,终于找到一个解决办法:
spring-content jar包下自带了支持quartz的类,我们写个类继承它:
public class JobFactory extends AdaptableJobFactory { @Autowired private AutowireCapableBeanFactory capableBeanFactory; @Override protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { //调用父类的方法 Object jobInstance = super.createJobInstance(bundle); //进行注入 capableBeanFactory.autowireBean(jobInstance); return jobInstance; }}
AdaptableJobFactory就是org.springframework.scheduling.quartz的类。
完成后。在spring的配置文件里加上:
<bean id="jobFactory" class="com.buoy.util.JobFactory"></bean>
注意class写的是上面的jobFactory所在的包路径
然后,在你配置job调度器的地方添加上属性:
<property name="jobFactory" ref="jobFactory"></property>
这里我的如下:
(关于具体Quartz如何与spring整合,看前面的文章Quartz2.x学习笔记(三):Quartz2.x整合spring)
<!-- 3.定义调度器,并将Trigger注册到调度器中 --> <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="jobFactory" ref="jobFactory"></property> <property name="triggers"> <list> <!-- <ref bean="simpleTrigger"/> --> <ref bean="tirggerBuoy"/> </list> </property> <property name="autoStartup" value="true" /> </bean>
0 0
- Quartz2.x学习笔记(四):spring注入异常解决方法
- Quartz2.x学习笔记(三):Quartz2.x整合spring
- Quartz2.x学习笔记(一)
- Spring学习笔记(四)注入参数
- Quartz2.x学习笔记(二):存储与持久化
- spring集成quartz2.X 配置
- Spring 4.X整合Quartz2.X配置
- Spring 3.X + Quartz2.X 定时任务
- Spring学习笔记(4.Spring注入)
- Angular4学习笔记(四)- 依赖注入
- Spring4.x整合Quartz2.x动态修改定时器时间(修正多定时器SpringBean异常)
- Spring4.x整合Quartz2.x动态修改定时器时间(修正多定时器SpringBean异常)
- Spring4.X+Quartz2.X无法自动注入bean问题
- Spring学习笔记(四)
- Spring学习笔记(四)
- Spring 学习笔记(四)
- Spring学习笔记(四)
- spring学习笔记(四)
- Chrome开发者工具不完全指南(一、基础功能篇)
- 设计模式学习-单例模式
- synchronized 关键字
- Python正则表达式指南
- Longest Consecutive Sequence
- Quartz2.x学习笔记(四):spring注入异常解决方法
- 周赛西北第二次周赛(感谢佳神的讲解)
- URL基础
- dg日志传输服务
- java——异常
- POJ 1321 棋盘问题 (DFS+回溯)
- 个人思考:做了hash是否还需要读写分离
- Ruby_Dir和File
- 图论-最短路问题