java中quartz定时原理_Java Quartz实现定时的机制

Java Quartz实现定时的任务

配置spring

org.springframework

spring-context-support

4.2.6.RELEASE

1

2

3

4

5

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;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

2

3

4

搞定,现在我们的job里就可以使用@Autowired自动注入Bean了

那么为什么在job里,@Autowired注解不起作用呢?

这是因为我们在执行job的时候quartz就会重新实例化一个job,这个job和Spring注入的其他实例是不同的,所以@Autowired无法将实现注入到job中。

本课程是系列课程Java定时任务调度工具详解中的Quartz篇,旨在通过详细讲述Java定时调度工具的基本概念、工具,和这些工具里面包含的各个组件之间的关系,以及如何使用这些工具来实现定时调度功能,让学生能够对Java定时调度工具有一个清晰准确的认识。结合一些经典使用场景通过手把手的命令行操作进行教学,使同学们得心用手地使用这些定时调度工具来实现自己想要的功能。讲师实战课程已经上线,从0开始部署项目,掌握SSM和SpringBoot两大主流框架。详解SSM无缝迁移到SPRINGBOOT + MYBATIS的框架转换,远程调试项目并与微信结合,利用阿里SUI,实HantecMarkets亨达返佣https://www.kaifx.cn/broker/h...。启动程序,默认会启动10个线程,我们可以在配置文件中设置quartz运行的相关属性,在resources目录下新建一个quartz.properties文件,添加

org.quartz.scheduler.instanceName = MyScheduler

org.quartz.threadPool.threadCount = 3

org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

再次启动程序,启动的线程就变成3个了,一个配置项为调度器的名称。第三个为设置Quartz数据的存储方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值