我的应用程序创建作业,并使用CronTriggers调度它们。每个作业只有一个触发器,作业名称和触发器名称相同。没有作业共享触发器。
现在,当我创建类似于"0/1 * * * * ?" 的cron触发器时,它可以正常工作,指示作业每秒执行一次。
问题出现在我第一次通过调用以下命令暂停作业时:
scheduler.pauseJob(jobName, jobGroup);
然后等待50秒后,使用以下代码恢复作业:
scheduler.resumeJob(jobName, jobGroup);
我看到的是这个任务在50秒内没有按照要求执行。但是当我恢复任务时,我看到任务立即执行了50次!
我原以为这是由于触发器默认的misfire指令设置导致的,但即使在创建触发器时将misfire指令设置为以下内容:
trigger.setMisfireInstruction(CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);
发生了同样的事情。有人能建议一种修复此问题的方法吗?