xxl-job-入门使用

xxl-job-入门使用

工程结构

到 github 中 git clone xxl-job 工程:

在这里插入图片描述

其中:

  • xxl-job-admin: job 管理台
  • xxl-job-core: 核心模块
  • xxl-job-executor-samples: 一些示例

启动 xxl-job-admin

applicaition.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=111111
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

直接启动 启动类,然后访问 http://127.0.0.1:8080/xxl-job-admin/:

在这里插入图片描述

自定义job

xxl-job-executor-samples 中找到 xxl-job-executor-sample-springboot

在这里插入图片描述

新建 Job, 这里采用 Bean 模式:


@Component
public class HelloJob {

    @XxlJob(value = "helloJob")
    public ReturnT<String> execute(String param) throws Exception {

        String now = LocalDateTime.now().format(
                      DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        System.out.println(now + "XXL-JOB, Hello World. param: "+ param);
        return ReturnT.SUCCESS;
    }
}

application.properties 都不需要动,直接启动

# web port
# 需要修改,如果多个实例
server.port=8082

# 需要修改,如果多个实例
xxl.job.executor.port=9998

然后查看job管理台,这时还需要定义 job, 在 :

新建任务:
在这里插入图片描述

这里虽然定义了 job, 但状态还是 stop ,所以需要启动

在这里插入图片描述
然后 job 状态变成 running
在这里插入图片描述

查看控制台:

2020-07-06 21:53:10XXL-JOB, Hello World. param: key: spring
2020-07-06 21:53:20XXL-JOB, Hello World. param: key: spring
2020-07-06 21:53:30XXL-JOB, Hello World. param: key: spring
2020-07-06 21:53:40XXL-JOB, Hello World. param: key: spring
...

it work!

多台 job 实例

再启动另一个实例

# web port
# 需要修改,如果多个实例
server.port=8081

# 需要修改,如果多个实例
xxl.job.executor.port=9999

查看 job 管理台 注册节点:

在这里插入图片描述

在这里插入图片描述

然后在刚刚注册上去的机器执行任务:

在这里插入图片描述

可以在第二个实例中看到:

2020-07-06 22:08:14XXL-JOB, Hello World. param: 第二个机器
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页