关于xxljob-2.3.x版本使用

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("执行成功");
    }
}

配置调度平台

关于xxljob-2.3.x版本使用

上一篇:@Retention 注解的作用


下一篇:【xxl-job】入门教学-定时任务可视化执行框架搭建与使用