个人博客:https://domyselfzy.coding.me/
本讲主要说明Quartz中重要的几个组件的API。
Scheduler(调度器)
Scheduler的生命期,从SchedulerFactory创建它时开始,到Scheduler调用shutdown()方法时结束;Scheduler被创建后,可以增加、删除和列举Job和Trigger,以及执行其它与调度相关的操作(如暂停Trigger)。但是,Scheduler只有在调用start()方法后,才会真正地触发trigger(即执行job)。
上面说了,Scheduler是由Factory创建的,有两种方式来创建一个Scheduler。
- 直接获取
// 1. 创建 SchedulerFactory
SchedulerFactory factory = new StdSchedulerFactory();
// 2. 从工厂中获取调度器实例
Scheduler scheduler = factory.getScheduler();
- 自己配置FactoryBean
/**
* <p>初始化一个构建Scheduler的工厂</p>
*/
@Bean
public SchedulerFactoryBean schedulerFactoryBean() throws Exception {
SchedulerFactoryBean factory = new SchedulerFactoryBean();
factory.setQuartzProperties(quartzProperties());
factory.setOverwriteExistingJobs(true);
factory.afterPropertiesSet();
return factory;
}
/**
* 通过SchedulerFactoryBean获取Scheduler的实例
*/
@Bean
public Scheduler scheduler() throws Exception {
Scheduler scheduler = schedulerFactoryBean().getScheduler();
if (scheduler.isStarted(