Quartz Java 恢复作业会多次执行它
2022-09-01 18:51:30
对于我的应用程序,我创建工作并使用CronTriggers安排它们。每个作业只有一个触发器,并且作业名称和触发器名称相同。没有作业共享触发器。
现在,当我创建一个像“0/1 * * ?”这样的cron触发器时,它指示作业每秒执行一次,它工作得很好。
当我第一次通过调用来暂停作业时,问题就出现了:
scheduler.pauseJob(jobName, jobGroup);
然后在 50 秒后恢复工作::
scheduler.resumeJob(jobName, jobGroup);
我看到的是,在这50秒内,作业没有按照要求执行。但是当我恢复工作时,我看到同时执行了50个工作!!!
我认为这是由于失火指令的默认设置,但即使在创建时将触发器的失火指令设置为以下情况:
trigger.setMisfireInstruction(CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);
同样的事情也发生了。任何人都可以建议一种方法来解决这个问题吗?