【Java】XxlJob入门

xxl-job概念

xxlJob是轻量级的可视化分布式任务调度平台,适用于中小型企业。主要特性如下:

  • 简单、动态、轻量级、支持弹性扩容缩容、事件全异步执行、跨语言。
  • 调度中心和执行任务解耦
  • 调度任务支持多种不同场景的路由策略、容错策略、触发策略
  • 运维更便捷

环境准备和部署

Github地址源码: https://github.com/xuxueli/xxl-job

官网中文说明文档:https://www.xuxueli.com/xxl-job/#《分布式任务调度平台XXL-JOB》

中央仓库地址:

<!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-job-core/ -->
<dependency>
	<groupId>com.xuxueli</groupId>
	<artifactId>xxl-job-core</artifactId>
	<version>${最新稳定版本}</version>
</dependency>

环境要求:

  • Maven3+
  • Jdk17+ (说明:版本3.x开始要求Jdk17;版本2.x及以下支持Jdk1.8。如对Jdk版本有诉求,可选择接入不同版本。)
  • Mysql8.0+

数据库初始化

下载官方源码,运行SQL 脚本(位置:xxl-job/doc/db/tables_xxl_job.sql)。

新建数据库名:xxl_job

使用xxl-job-admin,调度任务

下载官方源码,并修改配置文件:

修改xxl-job-admin模块的application.properties文件,配置数据库连接信息(URL、用户名、密码)‌.

### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:13306/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

启动调度中心(XxlJobAdminApplication)。(调度中心默认端口8080),访问http://localhost:8080/xxl-job-admin/toLogin 。 默认账号(admin,密码:123456)。
image

启动执行器(XxLJobExecutorApplication)。

官方文档项目结构介绍

doc: 文档资料,包括“调度数据库”建表脚本

xxl-job-core: 公共jar依赖

xxl-job-admin : 调度中心,项目源码,Spring Boot项目,可以直接启动

xxl-job-executor-samples: 执行器,sample示例项目,其中的Spring Boot工程工程,可以直接启动。可以在改项目上进行开发,也可以将向右的项目改造成生命执行器。

定位到 jobHandler下,新增定时任务。(【xxl-job-executor-samples】→【xxl-job-executor-sample-springbooot】→【src】→【com.xxl.job.executor.service.jobhandler】 ,新增定时任务类名:【MyJobHandle】),新增任务代码如下:

@Component
public class MyJobHandle {
    /**
     * 测试简单任务
     * @param param 参数
     * @return 返回结果
     */
    @XxlJob(value = "myJobHandler" ,init = "", destroy = "")
    public ReturnT<String> myJobHandler(String param) {
        // 模拟业务运行
        System.out.println("【demoJobHandler】【时间】:" + LocalDateTime.now());
        // 返回成功
        return ReturnT.SUCCESS;
    }
}

重新启动后,配置任务任务管理。可以看到执行器,执行成功的返回输出,以及调度日志的成功日志。
image
image

posted @ 2025-03-19 10:31  陆陆无为而治者  阅读(343)  评论(0)    收藏  举报