SpringBoot项目如何对接XXLJob平台
我给你最标准、最简单、直接复制可用的
SpringBoot 对接 XXL-Job 完整版(平台版)
只做对接,不部署调度中心,直接用平台。
一、SpringBoot 对接 XXL-Job 平台(4步搞定)
1️⃣ 引入依赖(pom.xml)
<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.4.0</version></dependency>2️⃣ 配置文件(application.yml)
xxl:job:# 调度中心平台地址(平台给你的)admin:addresses:http://xxl-job-platform.xxx.com/xxl-job-admin# 执行器配置(你自己的服务)executor:# 唯一名称(平台会给你,或自己定义)appname:order-service# 执行器端口(不冲突即可)port:9988# 日志路径logpath:/data/applogs/xxl-job# 日志保留天数logretentiondays:30# 平台给你的令牌(必须一致)accessToken:xxl-platform-token-1234563️⃣ 配置类(XxlJobConfig.java)
importcom.xuxueli.job.core.executor.impl.XxlJobSpringExecutor;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassXxlJobConfig{@Value("${xxl.job.admin.addresses}")privateStringadminAddresses;@Value("${xxl.job.executor.appname}")privateStringappName;@Value("${xxl.job.executor.port}")privateintport;@Value("${xxl.job.accessToken}")privateStringaccessToken;@BeanpublicXxlJobSpringExecutorxxlJobExecutor(){XxlJobSpringExecutorexecutor=newXxlJobSpringExecutor();executor.setAdminAddresses(adminAddresses);executor.setAppname(appName);executor.setPort(port);executor.setAccessToken(accessToken);returnexecutor;}}4️⃣ 写一个任务(直接用)
importcom.xuxueli.job.core.context.XxlJobHelper;importcom.xuxueli.job.core.handler.annotation.XxlJob;importorg.springframework.stereotype.Component;@ComponentpublicclassPlatformJob{// 这个名字要去平台配置@XxlJob("syncOrderJob")publicvoidsyncOrderJob(){// 日志输出到平台XxlJobHelper.log("开始同步订单——对接平台成功");// ========= 你的业务逻辑 =========System.out.println("平台定时任务执行");// 成功返回XxlJobHelper.handleSuccess();}}二、平台后台配置(你只需要做这一步)
- 登录XXL-Job 平台后台
- 进入执行器管理 → 新增
- AppName:
order-service(和你配置一样) - 注册方式:自动注册
- AppName:
- 进入任务管理 → 新增
- JobHandler:
syncOrderJob(和注解一样) - Cron:自己配
- JobHandler:
- 启动任务 → 查看日志
三、最常见的 3 个问题
- 执行器不在线
→ 检查 accessToken、地址、防火墙 - 任务不执行
→ JobHandler 名字和平台一致 - 日志看不到
→ 用 XxlJobHelper.log()
