第一次异常后的java quartz停止计划

标签 java quartz-scheduler

我有一个 quartz 作业:

public class GlobalIdleMonitorJob extends AbstractJob {

    @Override public void execute(JobExecutionContext context)
            throws JobExecutionException {
        try {
            getJobService().processUserIdle();
        }catch(Exception e){
            getLogger().error("GlobalIdleMonitorJob",e);
        }
    }
}

此作业每 X 秒运行一次。我希望这项工作在第一次失败后停止。换句话说,如果

getJobService().processUserIdle();

抛出异常,我希望此作业不再运行,仅在手动重启或 Web 应用程序服务器重启后运行。我应该在 catch block 中抛出一个特殊的异常还是如何配置它?

最佳答案

您可以将 JobExecutionException 类对象的 setUnscheduleAllTriggers 方法设置为 true(true)。请引用以下 quartz 官方网站的示例,供您引用。

-- documentation

关于第一次异常后的java quartz停止计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40651534/

相关文章:

java - 如何调试已安装的 eclipse 插件

java - 如何将透明png设置为JButton?

java - insert 语句参数太少

c# - 尝试从另一个类调用 Form 中的方法

java - Quartz调度程序cron表达式超过1周

java - 如何将应用内购买添加到按钮?

java - 简单的Java代码无法编译- “Create class '中的 'java.lang'对象'”

c# - 基于文件存在的 quartz 触发器?

quartz-scheduler - quartz 延迟启动

macos - quartz JobStore : JobPersistenceException: Couldn't retrieve trigger: ClassNotFoundException