quartz jobDetail requestRecovery

use*_*050 8 fault-tolerance quartz-scheduler

JobDetail.requestsRecovery属性文档说明如下

如果遇到"恢复"或"故障转移"情况,则指示调度程序是否应重新执行作业.

现在,什么是"复苏"情况或"故障转移"情况?

他们有什么不同?

仅当JVM在作业执行期间崩溃时才会发生恢复,或者如果由于异常而导致作业执行失败,是否会发生恢复?

zer*_*iko 7

" 恢复情况 "是通用术语,一种恢复情况是" 故障转移 ".

故障切换是由通常与冗余使用(例如集群)容错系统中使用的方法.Quartz在聚类中使用故障转移,并且存在更多 Quartz"节点".

引用文件:

当其中一个节点在执行一个或多个作业时发生故障时,会发生故障转移.当节点发生故障时,其他节点会检测到该情况并识别数据库中发生故障的节点中正在进行的作业.标记为恢复的任何作业(在JobDetail上具有"请求恢复"属性)将由其余节点重新执行.

一个恢复的情况是,产生"硬关闭"(即过程是很崩溃内运行,或在机器关闭),每一种情况.


回答你的第二个问题:

  • 如果JVM在作业执行期间崩溃> Quartz将恢复作业

    (因为崩溃是恢复情况)

  • 如果由于异常而导致作业执行失败> Quartz将无法恢复作业

    (因为异常不是硬关闭,所以会引发失火)

请参阅答案以激活您的工作恢复.