我有一个使用Quartz 2.2.3
的Java解决方案,我所拥有的是:
@DisallowConcurrentExecution
以避免并发,因此同一工作每次只能运行一次(确定)这是我的问题,我不想让第二份工作等待,如果之前没有完成,我想跳过第二份工作,当时间转为3pm
时,工作可以运行。阅读javadoc我添加了withMisfireHandlingInstructionDoNothing()
,但它没有用。
我认为我做错了什么或遗失了什么。
我的代码:
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
JobDetail job = JobBuilder.newJob(TestCronService.class).withIdentity("testA","testB").build();
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("testA","testB")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 * * * ?")
.withMisfireHandlingInstructionDoNothing())
.build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
答案 0 :(得分:4)
更改功能:
withMisfireHandlingInstructionDoNothing()
带
withMisfireHandlingInstructionNextWithRemainingCount()