在阅读xxl-job源码时,作为资深菜鸟的我看到如下一段代码,将结果记录,供以后参考。

  1. 方法调用入口:

在这里插入图片描述

  1. 接口:

在这里插入图片描述

  1. 具体报警规则实现类:

在这里插入图片描述

以上类的简要功能是 xxljob中失败任务报警处理机制

贴出总结:

JobAlarmer类中容器初始化时从spring上下文中获取JobAlarm类的对象list:jobAlarmList,(主要代码:applicationContext.getBeansOfType(JobAlarm.class);)alarm方法中遍历jobAlarmList调用重写的doAlarm方法(报警具体实现),当需要触发报警时,只需要调用JobAlarmer类的alarm方法,即可自动触发所有的报警实现,因xxl默认只有邮箱报警,所本文代码只贴出了邮箱报警EmailJobAlarm类的代码,此方式的好处是当需要其他报警方式:如短信报警,只需要添加类实现JobAlarm接口,使用@Component注解,并重写方法doAlarm即可,便会在JobAlarm类的alarm方法jobAlarmList中触发调用子类实现的短信报警方法,可拓展性强,便于维护。

每日毒汤:会的越多,不会的就越多。

点击查看你的年度总结

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐