- 15
- 0
- 约4.02千字
- 约 5页
- 2017-07-09 发布于河南
- 举报
Quartz与Spring集成 Job如何自动注入Spring容器托管的对象
?Quartz与Spring集成 Job如何自动注入Spring容器托管的对象测试环境 Spring3 M2 ?quartz-2.1.7?我们要达到这样的效果publicclassCancelUnpaidOrderTaskimplements Job { @AutowiredprivateAppOrderServiceorderService; @Overridepublicvoid execute(JobExecutionContextctx) throwsJobExecutionException { ...}但是Job对象的实例化过程是在Quartz中进行的,AppOrderService是在Spring容器当中的,那么如何将他们关联到一起呢。好在Quartz提供了JobFactory接口,让我们可以自定义实现创建Job的逻辑。publicinterfaceJobFactory { Job newJob(TriggerFiredBundle bundle, Scheduler scheduler) throwsSchedulerException;}那么我们通过实现JobFactory 接口,在实例化Job以后,在通过ApplicationContext 将Job所需要的属性注入即可在Spring与Quartz集成时 用到的是org.springframework.scheduling.quartz.SchedulerFactoryBean这个类。源码如下,我们只看最关键的地方。// Get Scheduler instance from SchedulerFactory.try {this.scheduler = createScheduler(schedulerFactory, this.schedulerName);populateSchedulerContext();if (!this.jobFactorySet !(this.schedulerinstanceofRemoteScheduler)) {// Use AdaptableJobFactory as default for a local Scheduler, unless when // explicitly given a null value through the jobFactory bean property.this.jobFactory = new AdaptableJobFactory(); }if (this.jobFactory != null) {if (this.jobFactoryinstanceofSchedulerContextAware) { ((SchedulerContextAware) this.jobFactory).setSchedulerContext(this.scheduler.getContext()); }this.scheduler.setJobFactory(this.jobFactory); } }其中红色标记的是重点,如果我们不指定jobFactory,那么Spring就使用AdaptableJobFactory。我们在来看一下这个类的实现packageorg.springframework.scheduling.quartz;importjava.lang.reflect.Method;importorg.quartz.Job;importorg.quartz.Scheduler;importorg.quartz.SchedulerException;importorg.quartz.spi.JobFactory;importorg.quartz.spi.TriggerFiredBundle;importorg.springframework.util.ReflectionUtils;publicclassAdaptableJobFactoryimplementsJobFactory {public Job newJob(TriggerFiredBundle bundle, Scheduler scheduler) throwsSchedulerException {returnnewJob(bundle); }public Job newJob(TriggerFiredBundle bundle) throwsSchedulerException {try { Object
您可能关注的文档
- MFC下的文件类.doc
- MediaWiki在Windows下的安装.doc
- 关于合同法中违约责任形式与相关分析.doc
- 关于大气污染治理素材与解析.doc
- 关于工会在构建和谐企业过程中作用实践与思考.doc
- 关于开展绩效薪酬管理培训通知(110909定稿).doc
- MFC各类指针获取.docx
- 关于成立贵州温泉旅游协会策划书.doc
- 关于我国体育场馆建设与运营现状调研报告.doc
- 关于炉膛负压波动较大原因和炉膛负压保护定值进行修改分析报告.doc
- 跨境电商美妆护肤供应链品牌合作模式创新与2025年趋势报告.docx
- 重庆三峡学院单招《数学》考试彩蛋押题word版附答案详解.docx
- 鄂州职业大学单招《数学》练习题及参考答案详解(达标题).docx
- 跨境电商美妆护肤供应链品牌合作模式创新与品牌国际化战略报告.docx
- 鄂尔多斯职业学院单招《数学》考试彩蛋押题附答案详解【精练】.docx
- 跨境电商美妆护肤供应链品牌合作模式创新与市场前景2025年分析报告.docx
- 鄂尔多斯生态环境职业学院单招《数学》考前冲刺练习题及答案详解【易错题】.docx
- 鄂尔多斯生态环境职业学院单招《数学》考前冲刺测试卷【能力提升】附答案详解.docx
- 郑州黄河护理职业学院单招《数学》预测复习及参考答案详解(黄金题型).docx
- 跨境电商美妆护肤供应链品牌合作与供应链整合研究报告.docx
最近下载
- TCQFX001-2024四川省机动车维修工时定额标准.pptx VIP
- ASTM E92-2023中文版,维氏硬度试验.pdf VIP
- (2026春新版本) 部编版道德与法治三年级下册全册教学设计.docx
- Roland罗兰VM-3100PRO MIDI使用说明书.pdf
- Unit 3 American beginnings.ppt VIP
- 《英语国家社会与文化入门》Unit 3 American Beginnings.ppt VIP
- 吸痰技术操作考核评分标准.docx VIP
- 广东兴宁廖氏典型世系世之一.doc VIP
- 营口机场项目机场工程3.doc VIP
- “全国黄金交易从业水平考试”题库.docx VIP
原创力文档

文档评论(0)