处理Quartz作业异常,使其运行下一个正常转弯,而不会立即重新充气或掉落



如何处理由Quartz调度程序运行的作业引起的"异常",以便在以下计划时间运行。我不希望它立即重新启动,也不希望它放弃这份工作。把它放在工地上,直到下一个转弯。

如果从Job抛出异常,而该异常不是设置了refireImmediatelyJobExecutionException,则此执行将被丢弃,并按正常计划进行。例如,当一个作业假设每10秒运行一次,而一次执行引发异常时,Quartz将简单地丢弃此异常,并在10秒后运行下一个异常。

不幸的是,在一定延迟的情况下重新初始化的唯一方法是自定义代码(可能是JobListener实现?),refireImmediately会照它说的做。很遗憾Quartz没有开箱即用地支持它。

请参阅此处提出的解决方案(但不是公认的答案):Quartz在失败时重试。