知识点:Quartz任务异常处理方式

Posted nhdlb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识点:Quartz任务异常处理方式相关的知识,希望对你有一定的参考价值。

Quartz提供了二种解决方法

 

1 立即重新执行任务


2 立即停止所有相关这个任务的触发器

 

解决的方式是:在你的程序出错时,用Quartz提供的JobExecutionException类相关方法就能很好的解决

1.立即重新执行任务

 

try {  
           int zero = 0;  
           @SuppressWarnings("unused")  
           int calculation = 4815 / zero;  
       } catch (Exception e) {  
           _log.error("执行任务出错了...");  
           JobExecutionException e2 = new JobExecutionException(e);  
           // 这个工作将立即重新开始  
           e2.setRefireImmediately(true);  
           throw e2;  
       } 

 

运用的方法为:e2.setRefireImmediately(true);

2.立即停止所有相关这个任务的触发器

try {  
            int zero = 0;  
            @SuppressWarnings("unused")  
            int calculation = 4815 / zero;  
        } catch (Exception e) {  
            _log.info("--- Error in job!");  
            JobExecutionException e2 =   
                new JobExecutionException(e);  
            // 自动取消与此作业关联的所有触发器计划
            e2.setUnscheduleAllTriggers(true);  
            throw e2;  
        }  

运用的方法为:e2.setUnscheduleAllTriggers(true);

以上是关于知识点:Quartz任务异常处理方式的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 服务中使用 Quartz.Net 安排任务?

Spring定时任务 Could not find default TaskScheduler bean异常处理

quartz的这个异常怎么解决

Spring quartz定时任务,执行异常失踪

Quartz在服务异常中断或者重启后,不执行之前漏掉的任务,重新运行下一次任务

对quartz定时任务的初步认识