Administrator
Published on 2023-07-25 / 230 Visits
0

XXL-JOB环境搭建以及简单使用

1.进入XXL-JOB的github地址下载源码

GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)

2.吧源码导入IDEA中

3.新建xxl-job数据库并导入初始化SQL

4.更改代码中的数据库信息

5.启动XXL-JOB服务

6.登录xxl-job 服务

访问服务 http://127.0.0.1:8080/xxl-job-admin/

登陆服务 admin 123456

7.创建执行管理器

8.创建执行任务

9.项目中导入 XXL-JOB依赖

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

导入依赖后 项目中添加 xxljobconfig.java


import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "xxl.job")
@Data
public class XXLJobConfig {
    private Boolean enable = false;
    private String adminAddresses;
    private String accessToken;
    private String appName;
    private String address;
    private String ip;
    private int port = -1;
    private String logPath;
    private int logRetentionDays;
    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        if(enable){
            XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
            xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
            xxlJobSpringExecutor.setAppname(appName);
            xxlJobSpringExecutor.setAddress(address);
            xxlJobSpringExecutor.setIp(ip);
            xxlJobSpringExecutor.setPort(port);
            xxlJobSpringExecutor.setAccessToken(accessToken);
            xxlJobSpringExecutor.setLogPath(logPath);
            xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
            return xxlJobSpringExecutor;
        }
        else{
            return null;
        }
    }
}

配置文件中添加xxl job 服务器相关信息

xxl:
  job:
    enable: true
#    xxlJOB的后端访问地址
    adminAddresses: http://127.0.0.1:8080/xxl-job-admin
#    xxljob服务端项目中配置文件中的 xxl.job.accessToken
    accessToken: default_token
#    步骤7中新建执行器填写的app name
    appName: test-app

10.代码中的调度任务


import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class XXLJobTest {
    @XxlJob("TestJobHandler")
    public ReturnT<String> demoJobHandler() throws Exception {
        String param = XxlJobHelper.getJobParam();
        System.out.println(new Date() + "Test Xxl-Job~   :  "+param);

        XxlJobHelper.log("这里是我打印的日志了哈");
        return ReturnT.SUCCESS;
    }
}