xxl-job定时任务集成2.4+
最后更新于:2022-04-02 07:10:20
# xxl-job定时任务集成2.4+
> JeecgBoot 分布式定时任务集成了xxl-job
> 本文以jeecg-demo模块为例介绍如何集成定时任务
[TOC]
## 第一步 引入xxl-job定时任务依赖

~~~
org.jeecgframework.boot
jeecg-boot-starter-job
~~~
## 第二步 编写定时任务客户端handler
~~~
@Component
@Slf4j
public class DemoJobHandler {
@XxlJob(value = "demoJob")
public ReturnT demoJobHandler(String params) {
log.info("我是定时任务,我执行了...............................");
return ReturnT.SUCCESS;
}
}
~~~
## 第三步 修改 jeecg-dev.yaml 配置文件
1. 开启 xxljob

2. 修改 xxljob-admin的服务连接配置

## 第四步 启动服务端 xxl-job-admin
### #1 初始化数据库
执行脚本:[https://github.com/xuxueli/xxl-job/blob/2.2.0/doc/db/tables\_xxl\_job.sql](https://github.com/xuxueli/xxl-job/blob/2.2.0/doc/db/tables_xxl_job.sql)
### #2 启动xxl-job-admin
修改数据连接等配置
找到类 com.xxl.job.admin.XxlJobAdminApplication, 右键运行

### 3 访问管理界面
* 浏览器访问
[http://localhost:9080/xxl-job-admin](http://localhost:9080/xxl-job-admin)
默认登录账号 :admin/123456
* 新增执行器(注意,需要手工创建)

* 新增定时任务

*****
* 测试定时任务(前提微服务各个模块和定时任务服务端已启动)

执行结果如下所示

### 4 如何指定不同我服务模块的执行器端口
xxljob执行器端口当不指定端口的时候采用自动生成模式,也可以为不同执行器指定端口
1.查看nacos jeecg-dev.yaml中是否定义xxljob.port端口号如有定义需要注释掉
2.检查配置文件中设置端口号的方法是否放开如下图

3.在具体的微服务模块中引入jeecg-boot-starter-job模块并在对应模块的application.yml文件中定义执行器的端口号如下配置

```
jeecg:
xxljob:
ip: 127.0.0.1
port: 30058
```
### #参考文献
* [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定时任务

';