XXL-JOB使用教程

一、下载部署

源码下载地址:https://github.com/xuxueli/xxl-job/releases

解压
image-20250609190536307.png

二、创建数据库

SQL在db文件夹下,运行后会生成8张表
image-20250609190649743.png

表名作用
xxl\_job\_user存储用户信息,如用户名、密码
xxl\_job\_register存储执行器的注册信息,如执行器IP、端口、心跳间隔等
xxl\_job\_logglue存储任务的Glue配置信息,如Glue类型、Glue源码等
xxl\_job\_log\_report存储调度信息,如调度时间、运行中-日志数等
xxl\_job\_log存储任务的执行日志
xxl\_job\_lock存储任务执行时的锁信息,避免任务并行执行
xxl\_job\_info存储任务的基本信息,名称、执行器信息等
xxl\_job\_group存储执行器分组信息

三、运行XXL-JOB

修改源码文件中的xxl-job-admin项目配置文件,数据库填写自己真实数据库

运行源码文件中的xxl-job-admin项目

浏览器输入:localhost:8080/xxl-job-admin/

用户名:admin

密码:123456
image-20250609191728279.png

四、编写测试项目

1、新建SpringBoot项目
image-20250609191355228.png

2、新增依赖

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

3、配置信息

spring:
  application:
    name: demo
​
server:
  port: 8888
​
xxl:
  job:
    admin:
      addresses: http://192.168.37.135:8080/xxl-job-admin
      accessToken: default_token
      timeout: 3
    executor:
      appname: demo
      address:
      ip:
      port: 9999
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 30

4、XxlJobConfig

package com.example.demo.config;
​
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
​
​
@Configuration
public class XxlJobConfig {
    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
​
    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;
​
    @Value("${xxl.job.admin.accessToken}")
    private String accessToken;
​
    @Value("${xxl.job.admin.timeout}")
    private int timeout;
​
    @Value("${xxl.job.executor.appname}")
    private String appname;
​
    @Value("${xxl.job.executor.address}")
    private String address;
​
    @Value("${xxl.job.executor.ip}")
    private String ip;
​
    @Value("${xxl.job.executor.port}")
    private int port;
​
    @Value("${xxl.job.executor.logpath}")
    private String logPath;
​
    @Value("${xxl.job.executor.logretentiondays}")
    private int logRetentionDays;
​
​
    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        logger.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
        xxlJobSpringExecutor.setAppname(appname);
        xxlJobSpringExecutor.setAddress(address);
        xxlJobSpringExecutor.setIp(ip);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setTimeout(timeout);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
​
        return xxlJobSpringExecutor;
    }
​
​
}

5、TestJobService

package com.example.demo.job;
​
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Service;
​
@Service
public class TestJobService {
​
    @XxlJob("sendMessage")
    public void sendMessage() {
        System.out.println("sendMessage");
    }
​
}
​

6、运行Spring Boot项目

五、创建执行器

AppName填写测试项目中填写的信息

注册方式为:自动注册
image-20250609191838183.png

注册后,稍等片刻,即可注册成功!

六、创建任务

image-20250609192108476.png

image-20250609192203504.png

image-20250609192243756.png

最后修改:2025 年 06 月 09 日
如果觉得我的文章对你有用,请随意赞赏