Java CronTriggerFactoryBean類使用實(shí)例

小億
135
2023-12-18 15:10:02
欄目: 編程語言

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的示例:

  1. 創(chuàng)建一個(gè)CronTriggerFactoryBean bean并配置屬性:
@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;
}
  1. 創(chuàng)建一個(gè)JobDetail對(duì)象:
@Bean
public JobDetailFactoryBean jobDetail() {
    JobDetailFactoryBean jobDetail = new JobDetailFactoryBean();
    jobDetail.setJobClass(MyJob.class); // 指定任務(wù)類
    jobDetail.setDurability(true); // 設(shè)置任務(wù)持久化,即使沒有觸發(fā)器也保留任務(wù)
    return jobDetail;
}
  1. 創(chuàng)建一個(gè)SchedulerFactoryBean bean,并將CronTriggerFactoryBean對(duì)象添加到triggers屬性中:
@Bean
public SchedulerFactoryBean schedulerFactoryBean() {
    SchedulerFactoryBean schedulerFactory = new SchedulerFactoryBean();
    schedulerFactory.setTriggers(cronTrigger().getObject());
    return schedulerFactory;
}

注意:在示例中,MyJob是一個(gè)自定義的任務(wù)類,需要實(shí)現(xiàn)org.quartz.Job接口。

0