XXL-JOB 入门学习

发布时间 2023-05-03 10:43:05作者: seolas

参考教程

主要参考了 xxl-job快速入门指南,写的很详细,可以一步步按教程的走。

项目环境搭建

下载项目

先到 xxl-job GitHub 地址 下载 RELEASE 的 ZIP 包。解压后,到 MySQL 执行 doc 目录下的 db 文件。

视图页面

打开 xxl-job-admin 模块。

然后修改 application.properties 配置的数据库连接:

### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

显式的加上登录调度中心的账号密码:

xxl.job.login.username=admin
xxl.job.login.password=123456

然后执行模块,访问 http://localhost:8080/xxl-job-admin/ 进入视图页面。

配置执行器

任务要注册到执行器上才能调度,一个执行器可以有多个 IP。

执行器配置文件

打开 xxl-job-executor-samples 模块。

修改 application.properties 配置的端口,模拟集群:

# web port
server.port=${random.int[10000,19999]}
### xxl-job executor server-info
xxl.job.executor.port=${random.int[9000,10000]}

配置执行器的名称:

xxl.job.executor.appname=xxl-job-executor-jackxu

配置日志地址:

xxl.job.executor.logpath=C:/xxl-job/jobhandler
执行器页面配置

执行器管理页面 配置上自己的执行器,机器地址先置空,执行器模块运行后会自动注册上去的。

image

配置任务

任务代码
package com.xxl.job.executor.service.jobhandler;

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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

@Component
public class SimpleJobHandler {
    private static Logger logger = LoggerFactory.getLogger(SampleXxlJob.class);

    @XxlJob(value = "mydemoJobHandler2", init = "", destroy = "")
    public ReturnT<String> mydemoJobHandler2(String param) throws Exception {
        for (int i = 0; i < 5; i++) {
            XxlJobHelper.log("hello world" + i);
            TimeUnit.SECONDS.sleep(2);
        }
        // 返回执行结果
        return ReturnT.SUCCESS;
    }
}
页面配置任务

任务管理 选择执行器,配置任务,任务的 JobHandler 就是 @XxlJob 的 value。

image

运行执行器

运行模块,要勾选右上角的 Allow parallel run 允许 IDEA 多次运行。

访问 执行器管理页面,可以看到地址已经注册到 OnLine 机器地址上了。

运行任务

任务管理 启动任务。

查看我们之前配置的日志地址:C:\xxl-job\jobhandler\2023-05-03,可以看到日志已经打出来了:

image