一、初识xxl-job
我自己的理解,是我们自己写的逻辑代码,需要定期的去执行,然后在这个背景下,我们会使用到我们的任务调度,在此我使用的是xxl-job任务调度。
二、概述
xxl-job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
三、下载
源码仓库地址(一个是githup,另外一个是码云,任何一个下载都行)
源码仓库地址 | Release Download |
---|---|
https://github.com/xuxueli/xxl-job | Download |
http://gitee.com/xuxueli0323/xxl-job | Download |
四、开发环境
1.JDK:1.7+
2.Servlet/JSP Spec:3.1/2.3
3.Tomcat:8.5.x/Jetty9.2.x
4.Spring-boot:1.5.x/Spring4.x
5.Mysql:5.6+
6.Maven:3+
五、操作步骤
1.先在我们的本地数据库建立16张表,如果未建表,程序启动会报错,具体的建表语句是在我们项目这个位置:
/xxl-job/doc/db/tables_xxl_job.sql,然后执行sql脚本就行了,会在库中生成16张表。
表如下:
2.修改xxl-job项目下的application.properties文件中的一些基本信息:
2.1.换成自己的数据库
2.2.换成自己的邮箱以及密码(根据他官网这么修改的)
六、启动调度中心项目(xxl-job-admin)
如果已经正确进行上述配置,可将项目编译打包部署。 调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址),登录后运行界面如下图所示
至此“调度中心”项目已经部署成功。
七、 配置执行器项目(xxl-job-executor-sample-spring这个项目)
1.作用:负责接收"调度中心"的调度并执行,可直接部署执行器,也可以将执行器集成到现有业务项目中。
2.maven依赖
确认pom文件中引入了 "xxl-job-core" 的maven依赖;
3.执行器配置
执行器配置,配置文件地址:
/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/xxl-job-executor.properties
执行器配置,配置内容说明:
### xxl-job admin address list:调度中心部署跟地址:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调"。 xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin ### xxl-job executor address:执行器"AppName"和地址信息配置:AppName执行器心跳注册分组依据;地址信息用于"调度中心请求并触发任务"和"执行器注册"。执行器默认端口为9999,执行器IP默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用。单机部署多个执行器时,注意要配置不同执行器端口; xxl.job.executor.appname=xxl-job-executor-sample xxl.job.executor.ip= xxl.job.executor.port=9999 ### xxl-job, access token:执行器通讯TOKEN,非空时启用 xxl.job.accessToken= ### xxl-job log path:执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限 xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler/ ### xxl-job log retention days:执行器Log文件定期清理功能,指定日志保存天数,日志文件过期自动删除。限制至少保持3天,否则功能不生效; xxl.job.executor.logretentiondays=-1
八、部署执行器项目(xxl-job-executor-sample-spring这个项目)
1.如果已经正确进行上述配置,可将执行器项目编译打部署,系统提供多种执行器Sample示例项目,选择其中一个即可,各自的部署方式如下。
xxl-job-executor-sample-springboot:项目编译打包成springboot类型的可执行JAR包,命令启动即可; xxl-job-executor-sample-spring:项目编译打包成WAR包,并部署到tomcat中。 xxl-job-executor-sample-jfinal:同上 xxl-job-executor-sample-nutz:同上
2.至此“执行器”项目已经部署结束。
3.我部署在了同一个tomcat上面了
九、测试
1.执行器中的要测试的代码
2.要达到每分钟执行一次的效果(页面配置):
3.查看日志(达到了一分钟执行一次的效果)
十、结束
上面就是我对xxl-job的简单的认识,有不足之处,还请多指教
参考博客:https://www.cnblogs.com/xuxueli/p/5021979.html
Always keep the faith!!!