您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Tomcat被杀死时的Quartz当前执行作业

Tomcat被杀死时的Quartz当前执行作业

简短回答,认情况下,当前正在运行的作业被视为已触发并且无法恢复

.. 您可以在构建Job(JobDetail)时设置 属性,以告诉Quartz在发生崩溃(也称为“硬关机”)的情况下恢复正在运行的Jobs。

引用官方文档这里页面底部

如果作业“请求恢复”,并且在调度程序的“硬关闭”期间正在执行(即,正在崩溃中运行的进程,或者计算机已关闭),则将重新执行该作业再次启动调度程序时。在这种情况下,JobExecutionContext.isRecovering()方法将返回true。

因此,您可以例如:

import static org.quartz.JobBuilder.*;

...

JobDetail job = newJob(MyJob.class)
           .withIdentity("myJob", "group1")
           .requestRecovery(true) //This is the guy!
           .build();

...
其他 2022/1/1 18:13:37 有808人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶