分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。
1、源码下载地址
①、GitHub:https://github.com/xuxueli/xxl-job
②、码云:https://gitee.com/xuxueli0323/xxl-job
2、文档地址
①、中文文档:http://www.xuxueli.com/xxl-job/#/
②、英文文档:http://www.xuxueli.com/xxl-job/en/#/

XXL-JOB官方只有Mysql版本的DEMO,我这里学习的是oracle版本工程,并在自己电脑上修改了部分配置代码后现已正常运行。这里给出我自己的工程资源链接,欢迎下载:
https://download.csdn.net/download/nannan7777/12613993

分布式任务调度平台XXL-JOB的Oracle版本搭建

      • 1、导入oracle表结构
      • 2、项目导入与配置项修改
      • 3、创建执行器
      • 4、实测-新建任务

我这里已安装的基础环境与工具有:
Jdk1.8IntelliJ IDEA 2020Navicat Premium15Oracle 11gR2PLSQL DeveloperMaven3

1、导入oracle表结构

首先解压源码,获取 “调度数据库初始化SQL脚本” 并在Oracle数据库中执行。可以在PLSQL Developer可视化工具中执行,也可以使用Navicat数据库管理工具,个人感觉Navicat更好用一些,界面与操作比较直观。
调度数据库初始化SQL脚本位置为:xxl-job-mysql-oracle-master\doc\db\tables_xxl_job_oralce.sql
(这是自己借鉴修改的导入oracle表结构脚本文件,折腾了两天 =w=)

新建数据库连接,选择Oracle,会弹出一个新建连接的对话框,这里连接名可以自己设定,主机输入localhost,用户名与密码为自己在安装Oracle应用程序的过程中设置的用户名与密码(我当时设置的是system,123456)如下图所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第1张图片
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第2张图片
点击确定后就建立了Oracle数据库连接,正确连接时会在左侧显示红色图标。之后创建新用户与表空间,在常规栏设置用户名与密码等配置项,在成员属于栏选择管理员DBA,如下图所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第3张图片
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第4张图片
之后鼠标右键选中新建用户,选择“运行SQL文件”命令,将上文提到的调度数据库初始化SQL脚本加载进来,如无报错并正确生成如下表与序列则代表SQL脚本加载正确:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第5张图片

2、项目导入与配置项修改

按照maven格式将源码导入IDEA,使用maven进行编译。源码结构如下:

xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
    :xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
    :xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用;
    :xxl-job-executor-sample-frameless:无框架版本;
    :xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器;
    :xxl-job-executor-sample-nutz:Nutz版本,通过Nutz管理执行器;
    :xxl-job-executor-sample-jboot:jboot版本,通过jboot管理执行器;

打开xxl-job-admin模块里面的application.properties文件配置自己的oracle数据库信息,主要包括Oracle数据库的url,刚才在navicat中设置的用户名与密码,如下图所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第6张图片
之后在配置文件xxl-job-mysql-oracle-master\xxl-job-admin\pom.xml中引入ojdbc7的jar包,添加代码如下:



	com.oracle
	ojdbc7
	${oracle-jdbc.version}

完成后对工程进行编译,该工程是一个springboot项目,只需要在IDEA中执行 XxlJobAdminApplication 类即可运行该工程,如果显示如下图所示信息代表工程运行正确:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第7张图片
之后打开浏览器输入任务调度中心访问地址:http://localhost:8080/xxl-job-admin
默认登录账号 “admin/123456”, 登录后运行界面如下图所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第8张图片

3、创建执行器

首先在配置文件xxl-job-mysql-oracle-master\xxl-job-admin\pom.xml中引入xxl-job-core的依赖,添加代码如下:

	
	
		com.xuxueli
		xxl-job-core
		${project.parent.version}
	

xxl-job-executor-sample-springboot模块里面的application.properties文件可对执行器组件数值进行设置,如下图所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第9张图片
xxl-job-executor-sample-springboot模块里面的XxljobConfig文件是执行器组件配置,如下图所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第10张图片
之后可以在执行器项目中新建自己的任务,文件位置为:com/xxl/job/executor/service/jobhandler/SampleXxlJob.java,如下图所示,这里定义了一个执行打印的简单任务执行器:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第11张图片
最后使用maven-compiel指令部署执行器,即将执行器打包成springboot类型的可执行JAR包,如下图所示,如果显示BUILD SUCCESS没有其他错误则证明执行器已成功打包。
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第12张图片
可以在终端中执行java -jar xxxx.jar运行执行器,也可以直接在IDEA中执行 XxlJobExecutorApplication类运行该执行器,如果显示如下图所示信息代表工程运行正确:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第13张图片

4、实测-新建任务

任务调度中心和执行器已经成功部署并启动之后就可以新建任务进行调度测试了。
登录任务调度中心,点击下图所示“新建执行器”按钮,可以新建执行器。注意这里的执行器AppName需要跟xxl-job-executor-sample-springboot模块里面application.properties文件中的xxl.job.executor.appname保持一致:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第14张图片
之后点击下图所示“新建任务”按钮,新建示例任务。参考下面截图中任务的参数配置,点击保存,注意这里的JobHandler需要跟SampleXxlJob.java文件中定义的执行器任务value值保持一致:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第15张图片
保存以后点击启动,可以在调度中心,查看调度日志,如下图所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第16张图片
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第17张图片
至此,XXL-JOB的Oracle版本任务发布与调用流程已经跑通了,其架构图如下所示:
分布式任务调度平台XXL-JOB的Oracle版本搭建与学习笔记_第18张图片

————————————————————————————————————————————
每天都想吃西瓜的乔木小姐
2020年07月14日

你可能感兴趣的:(分布式调度平台,XXL-JOB,Oracle,xxl-job,调度中心,Oracle,java)