xxl-job定时任务部署及个人项目集成
1.xxj-job工程介绍及原始项目启动
1.1 xxl-job代码及结构介绍
个人本次使用的是2.2.0的分支代码。
gitHub地址:https://github.com/xuxueli/xxl-job
xxl-job本身使用的springboot版本为2.0以上。核心部分包含一个父工程(xxl-job)和两个子工程(xxl-job-admin、xxl-job-core),其他部分(xxl-job-executor-samples)是各个示例工程代码,个人参考springboot版本的示例。
1.2 原始项目启动
(1) 在本地mysql,将下载的代码doc文件夹中的sql文件导入数据库;
(2) 将xxl-job以maven工程引入idea或eclipse;
(3) 修改xxl-job-admin的配置文件,配置好mysql数据库的访问地址及用户名密码,访问端口号可根据需要自行修改;
注:Mysql数据库5以下:com.mysql.jdbc.Driver
Mysql数据库5以上:com.mysql.cj.jdbc.Driver
(4) 运行xxl-job-admin中的main函数,浏览器页面访问
http://localhost:8080/xxl-job-admin,打开登录页面,默认用户名密码admin/123456
2.个人项目集成xxl-job
个人项目为聚合工程,且使用springboot版本为2.2.6,当前方案是将两个子工程(xxl-job-admin、xxl-job-core)直接集成到原有的项目中。
(1)修改两个子工程(xxl-job-admin、xxl-job-core)的pom.xml文件,将parent部分修改为个人项目的父工程。
(2)修改父工程的pom.xml,增加两个子工程。
(3)修改完成后,重新引入了当前的聚合工程,启动测试了下xxl-job-admin可以正常登陆。
(4)下面将project-job工程加入定时任务中。
修改project-job工程的pom.xml文件,增加xxl-job的依赖。
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.2.0</version>
</dependency>
==修改properties文件,增加xxl-job的配置 ==
### xxj-job-admin工程的访问地址,执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### 执行器通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
### 执行器的名称,执行器心跳注册分组依据;为空则关闭自动注册
xxl.job.executor.appname=project-job
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
xxl.job.executor.address=
### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP
xxl.job.executor.ip=
## 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
xxl.job.executor.port=9999
### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
xxl.job.executor.logpath=/data/applogs/xxl-job/project-job
### 执行器日志保存天数 [选填] :值大于3时生效,启用执行器Log文件定期清理功能,否则不生效;
xxl.job.executor.logretentiondays=30
(5)首先将原始代码xxl-job-executor-sample-springboot部分的XxlJobConfig.java文件复制到个人project-job工程中。
(6)project-job工程中新建定时任务类(参考原始代码xxl-job-executor-sample-springboot部分的SampleXxlJob.java)。
(7)启动project-job工程,可以看到项目中xxl-job部分已经成功启动。
(6)管理页面配置注册的定时任务,使用admin登录后点击"执行器管理"—“新建”,填写注册信息。
保存后,等待执行器注册成功,刷新页面可看到当前注册的机器ip
(7)点击"任务管理"创建定时任务。
执行器选择刚刚注册的执行器,"JobHandler"填写上面第六步代码中注解的部分。点击保存生效。点击操作选择执行一次测试定时任务。
查看控制台