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. 监控任务执行情况

参考资料

相关推荐
candyTong7 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
GetcharZp8 小时前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端
辰海Coding10 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
zhangxingchao10 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端
IT_陈寒10 小时前
SpringBoot那个自动配置的坑,害我排查到凌晨三点
前端·人工智能·后端
ServBay10 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
ping某10 小时前
逐字节拆解 tcpdump
后端
阿凡98073010 小时前
花 100 dollar,用 Claude 打通 EasyEDA&Fusion 双向同步
后端·程序员
irving同学4623810 小时前
从零搭建生产级 RAG:Embedding、Chunking、Hybrid Search 与 Reranker
前端·后端
她的男孩10 小时前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构