Quartz暂停及恢复任务时的补偿

在测试暂停和恢复任务的时候发现暂停一段时候后恢复任务,Quartz会把暂停时候应该执行的任务在恢复的一瞬间全部执行。

解决需要两步:
1、配置文件中org.quartz.jobStore.misfireThreshold的值必须调小,小于任务调度的间隔。
2、使用withMisfireHandlingInstructionDoNothing() 忽略掉调度暂停过程中没有执行的调度

CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing();
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build();

你可能感兴趣的:(Quartz暂停及恢复任务时的补偿)