CronTriggerFactoryBean是Spring Framework中的一個(gè)類,用于創(chuàng)建CronTrigger對(duì)象,并將其與JobDetail對(duì)象關(guān)聯(lián)起來。CronTrigger對(duì)象用于定義任務(wù)的執(zhí)行時(shí)間規(guī)則,可以按照Cron表達(dá)式來指定執(zhí)行時(shí)間。
下面是一個(gè)使用CronTriggerFactoryBean的示例:
@Bean
public CronTriggerFactoryBean cronTrigger() {
CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean();
cronTrigger.setCronExpression("0 0 12 * * ?"); // 每天中午12點(diǎn)執(zhí)行
cronTrigger.setJobDetail(jobDetail()); // 關(guān)聯(lián)JobDetail對(duì)象
return cronTrigger;
}
@Bean
public JobDetailFactoryBean jobDetail() {
JobDetailFactoryBean jobDetail = new JobDetailFactoryBean();
jobDetail.setJobClass(MyJob.class); // 指定任務(wù)類
jobDetail.setDurability(true); // 設(shè)置任務(wù)持久化,即使沒有觸發(fā)器也保留任務(wù)
return jobDetail;
}
@Bean
public SchedulerFactoryBean schedulerFactoryBean() {
SchedulerFactoryBean schedulerFactory = new SchedulerFactoryBean();
schedulerFactory.setTriggers(cronTrigger().getObject());
return schedulerFactory;
}
注意:在示例中,MyJob是一個(gè)自定義的任務(wù)類,需要實(shí)現(xiàn)org.quartz.Job接口。