我有以下弹簧石英配置。当我每分钟有工作被解雇时,它工作正常。现在,我需要将此工作解雇固定次数(特别是2次)。如何修改我的代码来做到这一点?

@Bean
public SchedulerFactoryBean schedulerFactoryBeanJobOne() {
    schedulerFactoryBean = new SchedulerFactoryBean();
    schedulerFactoryBean.setAutoStartup(false);
    schedulerFactoryBean.setTriggers(procesoJobOneTrigger().getObject());
    schedulerFactoryBean.setJobDetails(procesJobOne().getObject());
    schedulerFactoryBean.setJobFactory(springBeanJobFactory());
    return schedulerFactoryBean;
}

@Bean
public SpringBeanJobFactory springBeanJobFactory() {
    return new AutowiringSpringBeanJobFactory();
}

@Bean
public JobDetailFactoryBean procesJobOne() {
    JobDetailFactoryBean jobDetailFactory = new JobDetailFactoryBean();
    jobDetailFactory.setJobClass(JobOne.class);
    jobDetailFactory.setGroup("quartz");
    return jobDetailFactory;
}

@Bean
public CronTriggerFactoryBean procesoJobOneTrigger() {
    CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean();
    cronTriggerFactoryBean.setJobDetail(procesJobOne().getObject());
    // Runs every 60secs
    cronTriggerFactoryBean.setCronExpression("0/60 * * * * ?");
    cronTriggerFactoryBean.setGroup("quartz");
    return cronTriggerFactoryBean;
}

最佳答案

您的cron表达式是您提供作业运行次数的地方

 # * * * * *  command to execute
 # │ │ │ │ │
 # │ │ │ │ │
 # │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday)
 # │ │ │ └────────── month (1 - 12)
 # │ │ └─────────────── day of month (1 - 31)
 # │ └──────────────────── hour (0 - 23)
 # └───────────────────────── min (0 - 59)


您可以使用此:

# m   h   dom mon dow
  0  14,15 *   *   *


您的工作将在14:00和15:00(即两次)运行

关于java - quartz 固定次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31029617/

10-11 22:34
查看更多