Elastic-Job之异常处理器

简介: elastic-job允许用户在任务调度异常时指定处理异常的异常处理器,异常处理器由接口JobExceptionHandler定义,其定义如下: /** * 作业异常处理器.

elastic-job允许用户在任务调度异常时指定处理异常的异常处理器,异常处理器由接口JobExceptionHandler定义,其定义如下:

/**
 * 作业异常处理器.
 *
 * @author zhangliang
 */
public interface JobExceptionHandler {
    
    /**
     * 处理作业异常.
     * 
     * @param jobName 作业名称
     * @param cause 异常原因
     */
    void handleException(String jobName, Throwable cause);
}

如果没有指定自己的异常处理器elastic-job默认将使用DefaultJobExceptionHandler处理异常,其定义如下:

/**
 * 默认作业异常处理器.
 *
 * @author zhangliang
 */
@Slf4j
public final class DefaultJobExceptionHandler implements JobExceptionHandler {
    
    @Override
    public void handleException(final String jobName, final Throwable cause) {
        log.error(String.format("Job '%s' exception occur in job processing", 
jobName), cause);
    }
}

以下是一个自定义的异常处理器的示例:

public class MyJobExceptionHandler implements JobExceptionHandler {

	private static final Logger logger 
            = Logger.getLogger(MyJobExceptionHandler.class);
	
	@Override
	public void handleException(String jobName, Throwable cause) {
		logger.error(String.format("任务[%s]调度异常", jobName), cause);
	}

}

异常处理器的配置是通过job-exception-handler属性指定的,所有作业类型的异常处理器的配置是通用的:

<job:simple id="myExceptionJob" class="com.elim.learn.elastic.job.MyExceptionJob" 
        cron="0/30 * * * * ?"
	registry-center-ref="regCenter" sharding-total-count="4" overwrite="true" 
 	job-exception-handler="com.elim.learn.elastic.job.MyJobExceptionHandler" />

(本文由Elim写于2017年10月2日)

目录
相关文章
|
4月前
|
Oracle 关系型数据库 数据库连接
实时计算 Flink版操作报错之遇到Unable to register metrics as an,该怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
11月前
|
SQL Java 调度
大师级教程: 零基础掌握xxl-job分布式任务调度 Job Scheduling
大师级教程: 零基础掌握xxl-job分布式任务调度 Job Scheduling
297 0
大师级教程: 零基础掌握xxl-job分布式任务调度 Job Scheduling
|
12月前
|
缓存 Java 调度
xxl-job的原理(1)
xxl-job的原理(1)
108 0
|
运维
Elastic Job进阶--作业是如何被立即触发的
Elastic Job进阶--作业是如何被立即触发的
|
存储 算法 安全
定时任务之elastic-job概述
定时任务之elastic-job概述
377 0
|
监控 数据可视化 Java
XXL-Job启动源码详解
XXL-Job启动源码详解
1059 0
|
SQL Java 关系型数据库
elastic-job 定时任务集成
elastic-job 定时任务集成
429 0
elastic-job 定时任务集成
|
SQL IDE Java
xxl-job Demo搭建流程
xxl-job Demo搭建流程
369 0
xxl-job Demo搭建流程
|
运维 算法 Java
Elastic-Job源码解读
文章以任务初始化、任务触发、分片策略、分布式为切入点讲述Elastic Job的源码,一方面自己总结记录、另一方面希望可以帮助到其他的开发者快读理解Elastic Job工作原理。
1214 0
|
缓存 监控 Java
XXl-job 部分源码解析
前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger 种一棵树最好的时间是十年前,其次是现在
277 0