xxl-job—与springboot集成

1、添加依赖

一定要注意与xxl-job的任务调度中心的版本一致。

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

2、添加springboot配置

xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
xxl.job.accessToken=default_token
xxl.job.executor.appName=device-log-record
xxl.job.executor.address=
xxl.job.executor.ip=
xxl.job.executor.port=9995
xxl.job.executor.logPath=
xxl.job.executor.logRetentionDays=30

3、创建执行配置类

@Configuration
public class XxlJobConfig {
    @Value("${xxl.job.admin.addresses}")
    private String adminAddress;
    @Value("${xxl.job.executor.appName}")
    private String appName;
    @Value("${xxl.job.executor.ip}")
    private String executorIp;
    @Value("${xxl.job.executor.port}")
    private int executorPort;
    @Value("${xxl.job.accessToken}")
    private String accessToken;
    @Value("${xxl.job.executor.logPath}")
    private String logPath;
    @Value("${xxl.job.executor.logRetentionDays}")
    private int logRetentionDays;

    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddress);
        xxlJobSpringExecutor.setAppname(appName);
        xxlJobSpringExecutor.setIp(executorIp);
        xxlJobSpringExecutor.setPort(executorPort);
        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
        return xxlJobSpringExecutor;
    }
}

4、编写任务执行方法

@Component
public class DeviceLogJobHandler {

    @XxlJob("tdjgamtam")
    public void demoJobHandler() throws Exception {
        System.out.println("XXL-JOB demo task executed at " + System.currentTimeMillis());
    }
}

5、在【任务调度中心】添加任务执行器

6、在【任务管理】中新增任务