处理Quartz作业异常,使其在没有立即被激活或丢弃的情况下运行其下一个正常转弯

时间:2012-03-28 09:47:41

标签: java quartz-scheduler

如何处理由Quartz调度程序运行的作业导致的“异常”,以便它在以下计划时间运行。我不希望它立即得到回复,或者我不希望它放弃这份工作。只需将它保留在作业库中,直到下一个回合。

1 个答案:

答案 0 :(得分:4)

如果您从Job抛出异常并且JobExecutionException设置为refireImmediately,则此执行将被丢弃并继续正常计划。例如。当一个工作假设每10秒运行一次并且一次执行引发异常时,Quartz将简单地丢弃这个优先级并在10秒后运行下一个。

不幸的是,有一些延迟重新启动的唯一方法是自定义代码(可能是JobListener实现?),refireImmediately执行它所说的。遗憾的是,Quartz并不支持开箱即用。

请在此处查看建议的解决方案(但不是接受的答案):Quartz retry when failure