# xxl-job定时任务集成2.4+ > JeecgBoot 分布式定时任务集成了xxl-job > 本文以jeecg-demo模块为例介绍如何集成定时任务 [TOC] ## 第一步 引入jeecg-boot-starter-job依赖 ~~~ <!-- 引入定时任务依赖 --> <dependency> <groupId>org.jeecgframework.boot</groupId> <artifactId>jeecg-boot-starter-job</artifactId> </dependency> ~~~ ![](https://img.kancloud.cn/b4/c9/b4c9c5c313bce99c4a78ba0f666fff93_1197x657.png) ## 第二步 编写定时任务handler ~~~ @Component @Slf4j public class DemoJobHandler { @XxlJob(value = "demoJob") public ReturnT<String> demoJobHandler(String params) { log.info("我是定时任务,我执行了..............................."); return ReturnT.SUCCESS; } } ~~~ ## 第三步 修改nacos中jeecg-dev.yaml配置,开启 xxljob >[warning] 重要:默认是关闭的,需要xxljob请手工打开,不然客户端连不上xxljob服务端。 开启 xxljob 并 修改xxljob-admin的服务连接 ![](https://img.kancloud.cn/45/a7/45a72230724d82242aa309844e1bcd0a_865x586.png) ## 第四步 启动xxl-job-admin管理后台 ### # 4.1 初始化数据库 执行脚本:db/tables_xxl_job.sql ![](https://img.kancloud.cn/6d/bf/6dbfe126207ad6ea02822f5f909e9bbd_400x180.png) ### # 4.2 启动xxl-job-admin访问管理界面 找到 ` jeecg-cloud-module/jeecg-cloud-xxljob`项目下的类 `com.xxl.job.admin.XxlJobAdminApplication`, 右键运行 * 浏览器访问 [http://localhost:9080/xxl-job-admin](http://localhost:9080/xxl-job-admin) 默认登录账号 :admin/123456 ![](https://img.kancloud.cn/ef/4a/ef4ac56ce9112dbec6d00a11f6dc81b9_1592x766.png) ### # 4.3 创建定时任务 * 新增执行器(对应微服务名,需要手工创建) ![](https://img.kancloud.cn/e0/60/e060c895c7d372f170ca7271ba922459_1757x650.png) 查看注册节点 ![](https://img.kancloud.cn/28/d3/28d318ac98cf8d4c37a1b9832667c0c4_1337x458.png) * 新增定时任务 ![](https://img.kancloud.cn/ae/0b/ae0bd6357ae0007ff86103fcd7c09f88_1735x720.png) * 测试定时任务(前提微服务各个模块和定时任务服务端已启动) ![](https://img.kancloud.cn/d4/c4/d4c4aa1c5ace4b5f9b6af31c48284538_1730x559.png) ![](https://img.kancloud.cn/42/e4/42e4d61b9d42e6d3b62b187b9088d819_1598x638.png) 执行结果如下所示 ![](https://img.kancloud.cn/75/b8/75b8dd703942d9101952e9ba6a78b0e7_2248x423.png) ## #常见问题 * [xxl-job 官方文档](https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B) * 关闭quartz定时任务(修改naocs中的`jeecg.yaml`) ![](https://img.kancloud.cn/25/18/2518006e93fd1fa8313988fb86c9e52b_818x495.png) * 如何指定不同服务模块的执行器端口 xxljob执行器端口当不指定端口的时候采用自动生成模式,也可以为不同执行器指定端口 1.查看nacos jeecg-dev.yaml中是否定义xxljob.port端口号如有定义需要注释掉 2.检查配置文件中设置端口号的方法是否放开如下图 ![](https://img.kancloud.cn/0b/38/0b38fb05fde6b8f56bfd157c5b96dd04_1756x487.png) 3.在具体的微服务模块中引入jeecg-boot-starter-job模块并在对应模块的application.yml文件中定义执行器的端口号如下配置 ![](https://img.kancloud.cn/8d/72/8d72b31e27aa14898ebafb63cc8306d0_450x326.png) ``` jeecg: xxljob: ip: 127.0.0.1 port: 30058 ```