XXL-JOB v2.5.0 详细使用指南:从零搭建到任务开发
XXL-JOB 是一个轻量级分布式任务调度平台核心设计是调度中心Admin与执行器Executor分离调度中心负责任务的管理和触发执行器负责接收调度请求并执行业务代码。下面从零开始一步步说明如何使用 v2.5.0。一、部署调度中心Admin1.1 获取源码从官方仓库下载源码# GitHubgitclone https://github.com/xuxueli/xxl-job.git# 或 Gitee国内更快gitclone https://gitee.com/xuxueli0323/xxl-job.git项目结构说明xxl-job-admin调度中心需要部署xxl-job-core公共核心依赖执行器引入xxl-job-executor-samples执行器示例代码doc/db/tables_xxl_job.sql数据库初始化脚本1.2 初始化数据库执行doc/db/tables_xxl_job.sql脚本会生成 8 张表表名用途xxl_job_lock任务调度锁表分布式调度协调xxl_job_group执行器信息表xxl_job_info任务扩展信息表xxl_job_log调度日志表xxl_job_log_report调度日志报表xxl_job_logglueGLUE 模式日志版本回溯xxl_job_registry执行器注册表xxl_job_user系统用户表1.3 修改配置文件编辑xxl-job-admin/src/main/resources/application.properties必须修改以下配置# 1. 数据库连接必须修改 spring.datasource.urljdbc:mysql://your-host:3306/xxl_job?useUnicodetruecharacterEncodingUTF-8autoReconnecttrueserverTimezoneAsia/ShanghaiuseSSLfalse spring.datasource.usernameyour-username spring.datasource.passwordyour-password spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver # 2. AccessToken生产环境必须修改为复杂随机字符串 xxl.job.accessTokenyour-production-token # 3. 可选日志保留天数 xxl.job.logretentiondays30 # 4. 可选线程池大小 xxl.job.triggerpool.fast.max200 xxl.job.triggerpool.slow.max1001.4 启动调度中心直接运行XxlJobAdminApplication类的 main 方法。访问http://localhost:8080/xxl-job-admin默认用户名/密码admin/123456。登录后可以看到以下功能模块运行报表调度中心首页整体运行情况任务管理配置任务的地方最常用调度日志所有任务调度记录执行器管理管理注册上来的执行器用户管理多账号管理二、搭建执行器Executor2.1 引入依赖在业务项目的pom.xml中添加dependencygroupIdcom.xuxueli/groupIdartifactIdxxl-job-core/artifactIdversion2.5.0/version/dependency2.2 配置执行器在application.yml或application.properties中配置# 调度中心地址集群用逗号分隔多个 xxl.job.admin.addresseshttp://localhost:8080/xxl-job-admin # 执行器名称唯一标识 xxl.job.executor.appnamexxl-job-executor-demo # 执行器端口默认9999生产建议修改 xxl.job.executor.port9999 # AccessToken必须与调度中心一致 xxl.job.accessTokenyour-production-token # 日志路径 xxl.job.executor.logpath/data/applogs/xxl-job/jobhandler # 日志保留天数 xxl.job.executor.logretentiondays302.3 初始化执行器 Bean创建配置类初始化XxlJobSpringExecutorimportcom.xxl.job.core.executor.impl.XxlJobSpringExecutor;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;ConfigurationpublicclassXxlJobConfig{privateLoggerloggerLoggerFactory.getLogger(XxlJobConfig.class);Value(${xxl.job.admin.addresses})privateStringadminAddresses;Value(${xxl.job.executor.appname})privateStringappname;Value(${xxl.job.executor.port})privateintport;Value(${xxl.job.accessToken})privateStringaccessToken;Value(${xxl.job.executor.logpath})privateStringlogPath;Value(${xxl.job.executor.logretentiondays})privateintlogRetentionDays;BeanpublicXxlJobSpringExecutorxxlJobExecutor(){logger.info( xxl-job config init.);XxlJobSpringExecutorexecutornewXxlJobSpringExecutor();executor.setAdminAddresses(adminAddresses);executor.setAppname(appname);executor.setPort(port);executor.setAccessToken(accessToken);executor.setLogPath(logPath);executor.setLogRetentionDays(logRetentionDays);returnexecutor;}}2.4 启动执行器启动业务应用后执行器会自动向调度中心注册。登录调度中心后台在执行器管理页面应该能看到注册上来的执行器信息。三、编写任务代码BEAN 模式生产环境强烈推荐使用 BEAN 模式而不是 GLUE 模式。BEAN 模式的代码在业务项目中可以进行版本控制和 Code Review更加安全可控。3.1 简单任务示例importcom.xxl.job.core.context.XxlJobHelper;importcom.xxl.job.core.handler.annotation.XxlJob;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.stereotype.Component;ComponentpublicclassSampleXxlJob{privatestaticLoggerloggerLoggerFactory.getLogger(SampleXxlJob.class);/** * 简单任务示例 * 注解中的 demoJobHandler 是任务标识在调度中心配置时需要用到 */XxlJob(demoJobHandler)publicvoiddemoJobHandler()throwsException{XxlJobHelper.log(XXL-JOB, Hello World.);// 获取任务参数在调度中心配置时填写StringjobParamXxlJobHelper.getJobParam();XxlJobHelper.log(任务参数: {},jobParam);for(inti0;i5;i){XxlJobHelper.log(beat at: {},i);Thread.sleep(2000);}// 默认返回 SUCCESS}}3.2 分片广播任务示例当执行器集群部署时使用分片广播路由策略可以让每个节点处理一部分数据提高处理效率。importcom.xxl.job.core.context.XxlJobHelper;importcom.xxl.job.core.handler.annotation.XxlJob;importorg.springframework.stereotype.Component;ComponentpublicclassShardingJob{XxlJob(shardingJobHandler)publicvoidshardingJobHandler()throwsException{// 获取分片参数intshardIndexXxlJobHelper.getShardIndex();// 当前分片序号从0开始intshardTotalXxlJobHelper.getShardTotal();// 总分片数XxlJobHelper.log(分片参数当前分片序号 {}, 总分片数 {},shardIndex,shardTotal);// 业务逻辑根据分片参数查询数据// 例如从数据库查询 order_id % shardTotal shardIndex 的数据// 每个节点只处理自己分片的数据避免重复处理for(inti0;ishardTotal;i){if(ishardIndex){XxlJobHelper.log(第 {} 片命中分片开始处理,i);// 执行具体业务逻辑...}else{XxlJobHelper.log(第 {} 片忽略,i);}}}}分片广播适用场景海量数据处理、日志分析、订单批量处理等需要并行提升效率的场景。四、在调度中心配置任务登录调度中心后台进入任务管理页面点击新增。4.1 填写任务信息配置项说明示例执行器选择注册上来的执行器xxl-job-executor-demo任务描述任务名称测试任务负责人任务负责人admin调度类型CRON / 固定速度CRONCron 表达式定时调度规则0/10 * * * * ?每10秒执行一次Cron 表达式常用示例0 0 0 * * ?每天0点触发0 30 10 * * ?每天10点30分触发0 0/5 * * * ?每5分钟触发0 0/10 * * * ?每10分钟触发4.2 配置执行参数配置项说明运行模式选择BEAN模式生产推荐JobHandler填写XxlJob注解中的名称如demoJobHandler任务参数执行时传入的参数代码中通过XxlJobHelper.getJobParam()获取路由策略见下文路由策略说明阻塞处理策略调度超时或任务执行过慢时的处理方式4.3 路由策略说明执行器集群部署时需要选择路由策略决定任务由哪个节点执行路由策略说明适用场景FIRST固定选择第一个执行器不推荐生产使用LAST固定选择最后一个执行器不推荐生产使用ROUND轮询选择在线执行器无状态任务负载均衡RANDOM随机选择在线执行器无状态任务CONSISTENT_HASH一致性 HASH同一任务固定同一台机器有状态任务需缓存本地数据FAILOVER故障转移按顺序心跳检测第一个成功的执行关键任务高可用BUSYOVER忙碌转移按顺序空闲检测第一个空闲的执行高负载场景SHARDING_BROADCAST分片广播所有执行器执行传递分片参数海量数据并行处理五、测试与查看日志5.1 手动触发任务在任务管理页面点击任务的操作列选择执行一次。在弹出的对话框可以填写执行参数也可以指定某台 IP 执行方便 Debug。5.2 查看执行日志执行完成后点击查看日志可以查看调度记录和任务执行日志。日志会显示调度时间、调度结果执行器地址、执行结果代码中通过XxlJobHelper.log()输出的业务日志六、生产环境检查清单检查项说明☐ AccessToken 已配置且非默认值生产必须修改☐ 调度中心与执行器 Token 一致否则注册失败☐ 数据库连接信息已修改使用生产数据库☐ 执行器端口非默认 9999避免冲突☐ 使用 BEAN 模式而非 GLUE 模式安全可控☐ 路由策略已按业务需求选择集群环境必须考虑☐ 阻塞处理策略已配置防止任务堆积参考资料官方文档https://www.xuxueli.com/xxl-job/源码地址https://github.com/xuxueli/xxl-job国内镜像https://gitee.com/xuxueli0323/xxl-job发布日期2026-08-10

相关新闻

抖音下载器完全指南:如何免费批量下载抖音视频、直播回放和作者主页

抖音下载器完全指南:如何免费批量下载抖音视频、直播回放和作者主页

抖音下载器完全指南:如何免费批量下载抖音视频、直播回放和作者主页 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser f…

2026/8/11 2:52:11 阅读更多 →
3分钟解锁专业缠论分析:ChanlunX缠论插件终极免费指南

3分钟解锁专业缠论分析:ChanlunX缠论插件终极免费指南

3分钟解锁专业缠论分析:ChanlunX缠论插件终极免费指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你想在通达信中实现专业的缠论技术分析吗?ChanlunX缠论插件正是你寻找的终极…

2026/8/11 2:52:11 阅读更多 →
5分钟掌握Window Resizer:让所有Windows窗口乖乖听话的终极方案

5分钟掌握Window Resizer:让所有Windows窗口乖乖听话的终极方案

5分钟掌握Window Resizer:让所有Windows窗口乖乖听话的终极方案 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 你是否曾被那些"顽固不化"的应用程序窗口困扰…

2026/8/11 2:52:11 阅读更多 →

最新新闻

光刻显影缺陷:桥连/残留/塌陷的排查

光刻显影缺陷:桥连/残留/塌陷的排查

一、背景故事:ADI缺陷率一夜翻了三倍六月的一个周一早上,光刻区主管脸色铁青地站在晨会白板前:周末两天,KLA扫描的ADI(光刻后检查)缺陷密度从平时的每平方厘米零点一翻到了零点三,而且缺陷类型分…

2026/8/11 3:41:27 阅读更多 →
你的ELISA试剂盒可能在路上就“死”了

你的ELISA试剂盒可能在路上就“死”了

ELISA实验做不出标准曲线,很多人的第一反应是——操作有问题。重新稀释标准品、调整孵育时间、更换洗涤液……折腾一圈,结果还是不行。很少有人会去查:这批试剂盒在运输途中,温度到底有没有达标?ELISA试剂盒的核心成分…

2026/8/11 3:41:27 阅读更多 →
OpenAI暂停Astra开发:AI智能体网络安全能力引发的安全边界思考

OpenAI暂停Astra开发:AI智能体网络安全能力引发的安全边界思考

这次我们来看一个近期在AI和网络安全领域引发高度关注的事件:OpenAI暂停了其下一代AI模型Astra的开发。根据多方信息,暂停的核心原因并非技术瓶颈,而是该模型在内部测试中展现出了超出预期的“关键”网络安全能力,这引发了团队对潜…

2026/8/11 3:41:27 阅读更多 →
ChatMemory三大策略解析:解决LLM对话上下文丢失的工程实践

ChatMemory三大策略解析:解决LLM对话上下文丢失的工程实践

1. 从一次“失忆”的线上事故说起上周,我们团队负责的一个智能客服Agent在生产环境闹了个不大不小的笑话。一个用户连续咨询了同一个订单的物流状态和退货政策,前后间隔不过五分钟,Agent在第二次对话时,竟然像第一次见面一样&…

2026/8/11 3:41:27 阅读更多 →
毕业季论文降重工具实测与技巧指南

毕业季论文降重工具实测与技巧指南

1. 毕业季论文降重神器横评指南又到一年毕业季,论文查重成了无数学生的噩梦。去年帮表弟改论文时,我亲眼见证了他从查重率38%降到5%的艰难历程。如今AI改写工具层出不穷,但质量参差不齐,选错工具可能让你的论文从"学术作品&q…

2026/8/11 3:41:27 阅读更多 →
告别手动输入!首助编辑高手“自动粘贴”上线,一键搞定邮政编码

告别手动输入!首助编辑高手“自动粘贴”上线,一键搞定邮政编码

在数字化办公时代,如何从海量数据中高效提取关键信息,是提升团队生产力的关键。为了给您提供更便捷、智能的编辑体验,“首助编辑高手”全新上线“自动粘贴文本”功能。该功能旨在通过自动化规则配置,替代传统繁琐的手动操作&#…

2026/8/11 3:40:27 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →