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日)

目录
相关文章
|
Dubbo Java 应用服务中间件
nacos常见问题之Nacos dubbo耗时严重如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
|
人工智能 vr&ar
VR技术、特点、应用领域简介
VR技术、特点、应用领域简介
841 1
|
缓存
flowable 6.6.0 解决流程图汉字乱码
flowable 6.6.0 解决流程图汉字乱码
1030 0
|
JSON Java 数据格式
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
417 0
|
安全 测试技术 网络安全
企业为什么要做渗透测试
随着网络经济的蓬勃发展,越来越多的企业将交易平台迁移至互联网,随之而来的安全挑战也日益凸显。尽管企业在安全方面投入巨大,但往往遇到“安全性玻璃天花板”,即安全水平达到一定瓶颈后,再增加投入也无法显著提升安全效能。渗透测试作为一种有效的安全评估手段,正逐渐受到重视。它不仅能满足政策合规要求,还能帮助企业发现并修复潜在的安全漏洞,降低业务风险。渗透测试通过模拟真实攻击,全面评估系统的安全状况,为企业提供更精准的安全防护方案。
195 0
|
网络协议
UDP服务器的并发方案
UDP服务器的并发方案
278 0
|
人工智能 自然语言处理 算法
魔搭进校园 | AI赋能大学计划:AI大模型技术与产业趋势高校行·西安交通大学站成功举办
2024年1月10日,西安交通大学兴庆校区教2-1400丝路大礼堂,一场别开生面的AI技术交流讲座在此拉开帷幕。
|
Java
【IDEA用法】使用IntelliJ IDEA自动生成serialVersionUID
【IDEA用法】使用IntelliJ IDEA自动生成serialVersionUID
2241 0
|
Web App开发 编解码 缓存
基于WebAssembly的H.265播放器
本次演讲由腾讯高级工程师陈映平为大家介绍基于WebAssembly的H.265播放器,以及在NOW直播中的应用。本次主要介绍采用WebAssembly制作音视频H.265播放器的整体思路、播放器架构设计以及线上实践。
基于WebAssembly的H.265播放器
|
XML 关系型数据库 Linux
从小白到专家 PG技术大讲堂 - Part 2:PostgreSQL源代码安装
Part 2:PG源代码安装 步骤1 创建用户与环境配置 步骤2 系统内核参数配置 步骤3 PostgreSQL 安装
435 1
从小白到专家 PG技术大讲堂 - Part 2:PostgreSQL源代码安装

热门文章

最新文章