XXL-JOB是一个轻量级分布式任务调度平台,当然我司也在用,然后正巧自己想学一学源码分析,就挑正好在用的xxl-job了。
文档地址:http://www.xuxueli.com/xxl-job/#/?id=%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
下载
很多朋友会奇怪,为什么源码分析要把配置运行放在第一篇,其实很简单的道理,只有项目运行起来了,才能知道它是怎么调用的,以及它的内部 Jetty 是如何调用和返回响应的。
首先我是从 github 下载的代码 : https://github.com/xuxueli/xxl-job/
然后就行下载 zip 包,然后解压。当然也可以直接 git clone。注意,我这里的版本是V1.9.2
解压下来的项目如上图:
xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器) :
xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用,推荐这种方式;
xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器;
xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器;
xxl-job-executor-sample-nutz:Nutz版本,通过Nutz管理执行器;
初始化数据库
然后初始化 sql 语句在 /xxl-job/doc/db/tables_xxl_job.sql 。 这里在执行的时候遇到了个小问题,主键长度超出 mysql 的限制了,当然可能是我们 数据库设置的问题,然后 我把主键的宽度 200 替换成 100,得到解决。而且其实我自己跑项目,本身也遇不到那么长的场景。
执行 maven 编译源码
配置 Tomcat
然后添加部署,当然我这里要执行 admin 项目,所以 部署的就是 admin 的 war
修改配置文件
修改数据库连接文件 xxl-job-admin.properties,换成你自己的数据库配置
然后就可以启动了,运行成功后,会自动打开网页,正常登录即可