1.首先,要先装好了Mysql
2.下载源码:xxl-job 源码
3.初始化调度中心数据库(16张表)
mysql中执行脚本:xxl-job-admin\resources\tables_xxl_job.sql
4.配置调度中心:
修改xxl-job-admin的mysql连接字符串,xxl-job-admin\resources\xxl-job-admin.properties
xxl.job.db.url=jdbc:mysql://192.168.0.1:3306/xxl-job?useUnicode=true&characterEncoding=UTF-8&useSSL=true
xxl.job.db.user=canal
xxl.job.db.password=123456
到这里调度中心就可以了,假设你发布在9090端口。
5.配置执行器:
1) 修改xxl-job-demojob\resources\xxl-job-executor.properties的调度中心地址xxl.job.admin.addresses(调度中心的机器要打开相应的端口,不然不能自动注册ip);
2) 修改xxl-job-executor.properties的执行器地址和端口xxl.job.executor.ip/xxl.job.executor.port;(这个端口和tomcat发布的端口不一致才可以),记得端口开放,除非调度中心、执行器在同一个机器。
6.访问:localhost:9090/xxl-job-admin 进入“执行器管理”页面,过一会调度中心会自动注册执行器的。
首页:
执行器管理页面:
7.进入“任务管理”页面,新增任务,如图(当前为每日0点调度):
8.你需要定时调度的业务逻辑代码写在这里,如图:
注意执行完要 return SUCCESS; 不然调度日志显示执行结果失败的。
CRON表达式参考:https://blog.csdn.net/weixin_40426638/article/details/78959972
注:如果配置多个执行器没生效(不能自动获取执行器ip配置信息),那就修改resources/applicationcontext-xxl-job.xml里面的配置,也就是直接把xxl-job-excutor.properties的配置写进去而不是让程序获取,可能这是个bug吧。另外,如果还是不行那就手动覆盖eclipse发布路径下的applicationcontext-xxl-job.xml,因为eclipse有时候就是不给你发布过去。这样就可以了。