关于xxljob-2.3.x版本使用及告警邮箱配置

3 篇文章 0 订阅
2 篇文章 0 订阅

xxljob从2.3.0开始做了一些改变,查看源码发现有很多变动,其中包括handler的实现方式、注解等,记录一下:

依赖

<dependency>
      <groupId>com.xuxueli</groupId>
      <artifactId>xxl-job-core</artifactId>
      <version>2.3.0</version>
</dependency>

配置

@Slf4j
@Configuration
@ComponentScan(basePackages = "com.xxx.job") //指定扫描handler的包的位置
public class XxlJobConfig {

    @Value("${xxl.job.flag}")
    private boolean flag;

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.executor.appname}")
    private String appName;

    @Value("${xxl.job.executor.port}")
    private int port;

    @Value("${xxl.job.executor.ip}")
    private String ip;

    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        //判断是否注册到调度中心
        if (flag) { //添加开关
            log.info(">>>>>>>>>>> xxl-job config init.");
            XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
            xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
            xxlJobSpringExecutor.setAppname(appName);
            xxlJobSpringExecutor.setPort(port);
            xxlJobSpringExecutor.setIp(ip);
            return xxlJobSpringExecutor;
        } else {
            return null;
        }

    }
}

配置文件

xxl:
  job:
    flag: true
    admin:
      addresses : http://127.0.0.1:8080/xxl-job-admin/
    executor:
      ip: 127.0.0.1 //当前服务的ip
      appname : test
      port : 9999 //docker部署时需要做这个端口的映射,用于xxljob调度时请求

定时任务

2.3.x与之前版本不同的地方就在XxlJob注解

@Slf4j
@Component
public class DemoJobHandler{

    @XxlJob(value = "testJobHandler")
    public void demoJobHandler() throws Exception {
        // 2.3.0版本获取参数的方式
        // 注意xxl-job统一只接受一个String类型的参数,如果有多个参数,请自定义规则,获取到参数后自行切割
        String param = XxlJobHelper.getJobParam();
        log.info("job 参数:{}",param);
        // 打印到日志文件的方式,打印之后的文件,在调度中心的调度日志管理中,操作选项下的执行日志可查看到
        XxlJobHelper.log("=====testJobHandler===== test XXL-JOB!");
        // 执行结束后返回的方式,同样在执行日志可查看
        XxlJobHelper.handleSuccess("执行成功");
    }
}

配置调度平台

在这里插入图片描述

配置异常告警邮件发送

这里使用腾讯企业邮箱,对应的host为smtp.exmail.qq.com,发送端口号为465
由于使用k8s启动一个pod的形式部署xxl-job,所以这里直接选择对应的docker镜像创建,由于需要设置邮件发送端配置,所以到git上找到项目,查看一下配置文件的格式(2.3版本配置文件
在这里插入图片描述
这里需要配置host、port、username、password、from(发送方)

  • host:smtp.exmail.qq.com
  • port:465
    上面两个配置是腾讯企业邮箱固定的
  • username:用于发送邮件的账号
  • password:密码,一般需要登录企业邮箱获取(登录企业微信邮箱,设置-》账号-》开启安全登录,开启安全登录后,到邮箱绑定页,生成新密码
    在这里插入图片描述
    在这里插入图片描述
    到这里就获得了授权密码)
  • from 邮件发送方的邮箱,一般和username一样
    编辑k8s的xxljob这个pod,通过环境变量的形式修改配置(使用docker的话在启动命令中加上配置也可以;自己编译的话拉下最新代码修改properties配置文件即可),保存启动节点,
    这就完成了xxl-job的邮件发送的配置,然后找到指定的执行任务,编辑任务的告警邮箱
    在这里插入图片描述
    注:多个邮箱用英文逗号分隔即可,保存后手动执行一次任务
    在这里插入图片描述
    邮箱中收到了告警邮件√
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值