解决:分布式任务调度平台 → XXL-JOB 实战

开心一刻

老师:谁知道鞭炮用英语怎么说?
  甲:老师!老师!我知道,鞭炮的英文是pilipala。
  老师:那闪电呢?
  乙:kucha kucha
  老师:那舞狮呢?
  丙:dong dong qiang
  老师:你们几个先歇会吧!太费嗓子了!
  老师:下一个,谁知道墨家创始人墨子的英文怎么翻译?
  丁:black baby
  老师:那老子是不是叫old baby?好了最后一题!我们都知道有位大诗人叫陆游,请问他的英文名应该怎么翻译呢?
  辛:wifi
  同学们:啊哈哈哈哈!!!

前倾回顾

分布式任务调度平台 → XXL-JOB 初探 中,我们简单介绍了 XXL-JOB,并简单搭建了一个集群环境

可我们是在 XXL-JOB 官方的示例代码基础上来搭建的,没用应用到我们的项目中去

那如何应用到我们的项目中去了,将 xxl-job-admin、xxl-job-core、xxl-job-executor 的源码都引入到我们的项目中 ?这样可行,但没必要

我们细想下,xxl-job-admin 作为调度中心,有可视化的 web 管理界面, 可将其作为一个模块以源码的方式引入到我们的项目中,我们可对其进行自定义的修改,但一般不需要;xxl-job-core 是 XXL-JOB 的核心,绝大多数情况下我们不用对其进行自定义(一方面它已满足调度的常规需求,另一方面则是需要对 xxl-job-core 有一定的了解才敢去进行自定义的修改),那么我们以 jar 依赖的方式引入即可;至于 xxl-job-executor,它是和我们项目结合最紧密的,也是需要我们自定义的,那么我们参考官方的示例即可,不需要引入 xxl-job-executor 示例源码

具体实现我们往下看
项目搭建

项目结构如下

此时只有架子,都是空实现(包括 pom.xml),我们一步一步的填充内容
  project-parent
http://www.dgzbjj.com
    作为父工程,可以统一配置子工程中依赖的 jar 包的版本,具体内容如下
View Code
  xxl-job-admin

这个好处理,将官方示例源代码中的 xxl-job-admin 的 src 文件夹直接拷贝过来覆盖已有的 src,pom.xml 添加如下内容
View Code

然后修改:application.properties 中的配置,例如端口号,数据库连接地址、用户名、密码等等,改好之后我们启动下,就知道 xxl-job-admin 是否搭建好了

启动没报错,我们访问下:http://localhost:8080/xxl-job-admin,出现如下登录界面,则表示 xxl-job-admin 搭建完成

my-project

这个就是我们的项目工程,调度以外的代码该怎么写还是怎么写,下面我们只讲调度相关的

实际项目中,任务调度往往会操作数据库,我们加入相关依赖,pom.xml 如下:
View Code http://www.tzchyj.com

配置 application.properties
View Code

新增 Job 执行器:XxlJobConfig.java
View Code

新增 Job:UserJob.java
View Code

项目工程完整代码:my-xxl-job
  调度配置

启动 xxl-job-admin、my-project 后,在调度中心配置执行器

配置任务

具体配置过程、调度启动、集群搭建可查看 分布式任务调度平台 → XXL-JOB 初探
总结

1、xxl-job-admin 基本按源码引入就好,基本不需要改动

2、xxl-job-core 被 xxl-job-admin 和 xxl-job-executor 依赖,我们以 jar 包的方式依赖进来就好,无需引入源码

3、xxl-job-executor 的改造其实也简单,加入相应的配置,将我们常规的定时任务改成 xxl-job 的方式就好

4、可能存在一些细节未讲到,如果有不理解的地方,多看看 my-xxl-job 源码就好

你可能感兴趣的:(解决:分布式任务调度平台 → XXL-JOB 实战)