记一次applicationContext.getBeansOfType方法的应用场景

本文介绍了XXL-Job中的失败任务报警处理机制。通过JobAlarmer类和JobAlarm接口实现了灵活的报警策略,支持扩展不同的报警方式,如邮件和短信等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在阅读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中触发调用子类实现的短信报警方法,可拓展性强,便于维护。

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

点击查看你的年度总结

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值