Springboot整合xxl-job

拉取xxl-job

xxl-job: 一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

配置项目

执行sql语句

更改配置

启动

访问

任务调度中心http://127.0.0.1:8081/xxl-job-admin/

集成到自己项目

在你写定时任务的模块添加pom

复制代码
        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.4.2-SNAPSHOT</version>
        </dependency>

配置文件新增配置

复制代码
xxl:
  job:
    accessToken: default_token
    admin:
      # 调度中心服务地址  端口号和xxl-job配置一致
      addresses: http://127.0.0.1:8081/xxl-job-admin
    executor:
      address: ''
      # 必须唯一 执行器名称
      appname: jobhandel
      ip: ''
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 30
      # 执行器回调端口,用于接受调度消息
      port: 9998

新增测试类

复制代码
@Component
public class Clock {

 /**
     * XxlJob开发示例(Bean模式)
     * <p>
     * 开发步骤:
     * 1、任务开发:在Spring Bean实例中,开发Job方法;
     * 2、注解配置:为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
     * 3、执行日志:需要通过 "XxlJobHelper.log" 打印执行日志;
     * 4、任务结果:默认任务结果为 "成功" 状态,不需要主动设置;如有诉求,比如设置任务结果为失败,可以通过 "XxlJobHelper.handleFail/handleSuccess" 自主设置任务结果;
     *
     * @author xuxueli 2019-12-11 21:52:51
     */

    private static Logger logger = LoggerFactory.getLogger(Clock.class);




    @XxlJob("testJobHandler")
    public void spike() throws Exception {

        logger.info("定时器同步数据...");

    }
}

打开xxl-job的存放位置

展示cv大法 复制到你的项目底下

父项目pom新增模块

xxl-job模块的pom更改父项目信息(可借鉴同级的其他项目)

新增版本号信息

复制代码
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.test.skip>true</maven.test.skip>

		<netty.version>4.1.114.Final</netty.version>
		<gson.version>2.11.0</gson.version>

		<spring.version>5.3.39</spring.version>
		<spring-boot.version>2.7.18</spring-boot.version>

		<mybatis-spring-boot-starter.version>2.3.2</mybatis-spring-boot-starter.version>
		<mysql-connector-j.version>9.1.0</mysql-connector-j.version>

		<slf4j-api.version>2.0.16</slf4j-api.version>
		<junit-jupiter.version>5.11.3</junit-jupiter.version>
		<javax.annotation-api.version>1.3.2</javax.annotation-api.version>

		<groovy.version>4.0.24</groovy.version>

		<maven-source-plugin.version>3.3.1</maven-source-plugin.version>
		<maven-javadoc-plugin.version>3.11.1</maven-javadoc-plugin.version>
		<maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version>

调度任务

启动项目,访问前端页面,新增调度器

appname和这个保持一致

成功效果

新增任务

测试效果

启动任务

相关推荐
devlei2 小时前
从源码泄露看AI Agent未来:深度对比Claude Code原生实现与OpenClaw开源方案
android·前端·后端
pshdhx_albert3 小时前
AI agent实现打字机效果
java·http·ai编程
沉鱼.444 小时前
第十二届题目
java·前端·算法
努力的小郑4 小时前
Canal 不难,难的是用好:从接入到治理
后端·mysql·性能优化
赫瑞4 小时前
数据结构中的排列组合 —— Java实现
java·开发语言·数据结构
Victor3565 小时前
MongoDB(87)如何使用GridFS?
后端
Victor3565 小时前
MongoDB(88)如何进行数据迁移?
后端
小红的布丁5 小时前
单线程 Redis 的高性能之道
redis·后端
GetcharZp5 小时前
Go 语言只能写后端?这款 2D 游戏引擎刷新你的认知!
后端
周末也要写八哥5 小时前
多进程和多线程的特点和区别
java·开发语言·jvm