Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 禁用其中一个重复的触发器_Java_Quartz Scheduler - Fatal编程技术网

Java 禁用其中一个重复的触发器

Java 禁用其中一个重复的触发器,java,quartz-scheduler,Java,Quartz Scheduler,我正在评估Quartz Scheduler是否适合我们的项目需要。在教程或文档中没有找到满足我们需求的解决方案。我们想要的特性是禁用重复作业中的一个,但不要禁用其他重复作业(在此之前和之后) 例如:假设我有一份工作,它有触发器,每天在08:00:00和20:00:00触发。现在突然出现了一个要求,在一个特定的日期和时间,比如说3天后的20:00:00,禁用该触发器。在此之前和之后的天数和时间不受影响。如何做到这一点 pauseJob()和pauseTrigger()显然对这种情况没有帮助,我不确

我正在评估Quartz Scheduler是否适合我们的项目需要。在教程或文档中没有找到满足我们需求的解决方案。我们想要的特性是禁用重复作业中的一个,但不要禁用其他重复作业(在此之前和之后)

例如:假设我有一份工作,它有触发器,每天在08:00:00和20:00:00触发。现在突然出现了一个要求,在一个特定的日期和时间,比如说3天后的20:00:00,禁用该触发器。在此之前和之后的天数和时间不受影响。如何做到这一点


pauseJob()
pauseTrigger()
显然对这种情况没有帮助,我不确定
Calendar
在这里有什么帮助。有什么建议吗?我需要实现我自己的触发器类吗?

找到了一个适合我需要的解决方法,也许它可以帮助其他人:在我想要跳过的触发时间前1秒设置触发器的结束时间-
Trigger.setEndTime(endTime)
并应用更改-
调度程序。重新调度作业(Trigger.getKey(),Trigger)
(注意触发器的启动时间,不要得到一些令人讨厌的结果)。然后在我要跳过的所需触发时间后1秒添加另一个启动时间为startTime的触发器,否则与上一个触发器完全相同。使用组来确定它们都在做相同的事情。

我不确定它是否会给出主意。如果在特定时间创建另一个触发器来停止上一个触发器,您可以找到方法停止该触发器在某种程度上,可能是
kill()
方法