spring boot项目快速整合xxl-job实现定时任务

XXL-Job 分布式任务调度平台使用指南

登录信息

  • 访问地址:http://ip:端口号/xxl-job-admin
  • 用户名:admin
  • 密码:123456(默认)

平台概述 XXL-Job 是一款开源的分布式任务调度系统,提供可视化界面用于管理定时任务和任务调度。系统采用调度中心 + 执行器的架构设计:

  • 调度中心:负责任务的调度和分发,我们启动的xxl官方的服务
  • 执行器:接收并执行调度中心分配的任务,我们自己业务模块

核心功能

  1. 执行器配置 配置步骤
  2. 进入「执行器管理」界面
  3. 创建新执行器
  4. 填写执行器信息

注意:AppName 必须与业务模块名称完全一致。

  1. 项目集成 在业务模块中需要:
  2. 引入 xxl-job-core 依赖(基础包已包含)
  3. 配置执行器注册信息

示例配置:

yaml 复制代码
xxl:
  job:
    executor:
      appname: scmpt-user  # 与调度中心配置的执行器名称一致
      port: 9999
  1. 注册管理 项目启动后,执行器会自动注册至调度中心(注册信息每30秒同步一次)。

集群部署说明:相同appName的执行器会自动组成集群。

任务调度实现

Bean模式任务开发

  1. 创建调度任务 操作路径:「任务管理」→「添加任务」 必填项:
  • 执行器:选择对应模块的执行器
  • 调度类型:推荐CRON表达式
  • 运行模式:BEAN
  • JobHandler:与代码中@XxlJob注解值匹配
  1. 编写任务处理器
java 复制代码
@Component
public class DictsJob {
    @XxlJob("DictsVersionJob")
    public ReturnT<String> execute() {
        String jobParam = XxlJobHelper.getJobParam();
        System.out.println("接收参数:" + jobParam);
        
        // 业务逻辑处理
        
        return ReturnT.SUCCESS;
    }
}

关键要点:

  • @XxlJob注解值必须与调度任务JobHandler一致
  • 使用XxlJobHelper获取任务参数
  1. 任务运维 调度中心支持功能:
  • 手动触发任务(支持参数传递)
  • 查看执行记录
  • 监控任务运行状态

使用流程总结

  1. 配置执行器并完成注册
  2. 在调度平台创建任务
  3. 实现任务处理逻辑
  4. 监控任务执行情况

参考资料

相关推荐
VX:Fegn08952 分钟前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
Mr.朱鹏1 小时前
Nginx路由转发案例实战
java·运维·spring boot·nginx·spring·intellij-idea·jetty
VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
vue.js·spring boot·课程设计
Java天梯之路5 小时前
Spring Boot 钩子全集实战(七):BeanFactoryPostProcessor详解
java·spring boot·后端
wr2005145 小时前
第二次作业,渗透
java·后端·spring
短剑重铸之日5 小时前
《SpringCloud实用版》生产部署:Docker + Kubernetes + GraalVM 原生镜像 完整方案
后端·spring cloud·docker·kubernetes·graalvm
爬山算法6 小时前
Hibernate(67)如何在云环境中使用Hibernate?
java·后端·hibernate
女王大人万岁6 小时前
Go标准库 io与os库详解
服务器·开发语言·后端·golang
露天赏雪6 小时前
Java 高并发编程实战:从线程池到分布式锁,解决生产环境并发问题
java·开发语言·spring boot·分布式·后端·mysql
短剑重铸之日7 小时前
《SpringCloud实用版》 Seata 分布式事务实战:AT / TCC / Saga /XA
后端·spring·spring cloud·seata·分布式事务