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)如下图所示:


点击确定后就建立了Oracle数据库连接,正确连接时会在左侧显示红色图标。之后创建新用户与表空间,在常规栏设置用户名与密码等配置项,在成员属于栏选择管理员DBA,如下图所示:


之后鼠标右键选中新建用户,选择“运行SQL文件”命令,将上文提到的调度数据库初始化SQL脚本加载进来,如无报错并正确生成如下表与序列则代表SQL脚本加载正确:

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-mysql-oracle-master\xxl-job-admin\pom.xml中引入ojdbc7的jar包,添加代码如下:

<!-- oracle -->
<dependency><groupId>com.oracle</groupId><artifactId>ojdbc7</artifactId><version>${oracle-jdbc.version}</version>
</dependency>

完成后对工程进行编译,该工程是一个springboot项目,只需要在IDEA中执行 XxlJobAdminApplication 类即可运行该工程,如果显示如下图所示信息代表工程运行正确:

之后打开浏览器输入任务调度中心访问地址:http://localhost:8080/xxl-job-admin
默认登录账号 “admin/123456”, 登录后运行界面如下图所示:

3、创建执行器

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

 <!-- xxl-job-core --><dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>${project.parent.version}</version></dependency>

xxl-job-executor-sample-springboot模块里面的application.properties文件可对执行器组件数值进行设置,如下图所示:

xxl-job-executor-sample-springboot模块里面的XxljobConfig文件是执行器组件配置,如下图所示:

之后可以在执行器项目中新建自己的任务,文件位置为:com/xxl/job/executor/service/jobhandler/SampleXxlJob.java,如下图所示,这里定义了一个执行打印的简单任务执行器:

最后使用maven-compiel指令部署执行器,即将执行器打包成springboot类型的可执行JAR包,如下图所示,如果显示BUILD SUCCESS没有其他错误则证明执行器已成功打包。

可以在终端中执行java -jar xxxx.jar运行执行器,也可以直接在IDEA中执行 XxlJobExecutorApplication类运行该执行器,如果显示如下图所示信息代表工程运行正确:

4、实测-新建任务

任务调度中心和执行器已经成功部署并启动之后就可以新建任务进行调度测试了。
登录任务调度中心,点击下图所示“新建执行器”按钮,可以新建执行器。注意这里的执行器AppName需要跟xxl-job-executor-sample-springboot模块里面application.properties文件中的xxl.job.executor.appname保持一致:

之后点击下图所示“新建任务”按钮,新建示例任务。参考下面截图中任务的参数配置,点击保存,注意这里的JobHandler需要跟SampleXxlJob.java文件中定义的执行器任务value值保持一致:

保存以后点击启动,可以在调度中心,查看调度日志,如下图所示:


至此,XXL-JOB的Oracle版本任务发布与调用流程已经跑通了,其架构图如下所示:

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

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

  1. hutool的定时任务不支持依赖注入怎么办_分布式任务调度平台xxljob的内部原理,及在转转的落地实践...

    让世界因流转更美好 值此教师节来临之际,衷心祝愿所有的老师教师节快乐,身体健康,幸福平安,工作顺利,桃李满天下.您们辛苦了! 作者简介 · 杜云杰,架构师,转转架构部负责人,负责服务治理.MQ.云平台 ...

  2. xxl子任务_XXL-JOB v2.0.2,分布式任务调度平台 | 多项特性优化更新

    v2.0.2 Release Notes 1.底层通讯方案优化:升级较新版本xxl-rpc,由"JETTY"方案调整为"NETTY_HTTP"方案,执行器内嵌n ...

  3. xxl子任务_XXL-JOB v2.1.2 发布,分布式任务调度平台

    v2.1.2 Release Notes 1.方法任务支持:由原来基于JobHandler类任务开发方式,优化为支持基于方法的任务开发方式:因此,可以支持单个类中开发多个任务方法,进行类复用 @Xxl ...

  4. python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...

    SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台 一.概述 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源 ...

  5. python任务调度平台 界面_分布式任务调度平台XXL-JOB

    以前带我的人说过,最好的学习就是看官方文档,个人也有4个T的学习视频,但是会发现讲的都是入门,有的也比较浅. 官方文档比较官方,也比较权威,打开xxl-job的官网,写的贼详细,有些人喜欢收博客,不喜 ...

  6. 轻量级分布式任务调度平台 XXL-JOB

    From:https://www.cnblogs.com/xuxueli/p/5021979.html github 地址 及 中文文档地址:https://github.com/xuxueli/xx ...

  7. 分布式任务调度平台一站式讲解

    文章目录 一.传统的定时任务 1. 传统的定时任务存在那些缺点 2. 定时任务集群幂等性问题 二.传统定时任务的实现方案 2.1. 多线程 2.2. TimeTask 2.3. 线程池 2.4. Sp ...

  8. python任务调度平台 界面_分布式任务调度平台XXL-JOB搭建教程

    关于分布式任务调度平台XXL-JOB,其实作者 许雪里在其发布的中文教程中已经介绍的很清楚了,这里我就不做过多的介绍了,关于其搭建教程,本人依照其文档搭建起来基本上也没遇到啥问题,这里通过博客的形式记 ...

  9. 分布式任务调度平台XXL-JOB搭建使用

    参考文档: xxl官方文档 https://www.xuxueli.com/xxl-job/ xxl搭建教程 https://www.cnblogs.com/ysocean/p/10541151.ht ...

最新文章

  1. 使用具体的例子来讲解如何使用Esper
  2. 图形基础 GPU架构(2)软件调用栈
  3. Objective-C中的instancetype和id关键字
  4. linux hadoop 运行jar,Linux下执行Hadoop WordCount.jar
  5. .NET 下载、文档访问新姿势
  6. PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端
  7. php 其他盘文件格式,常见的硬盘有几种格式? 教你选择硬盘的技巧
  8. linux配置端口映射
  9. asp毕业设计—— 基于asp+access的网上论坛设计与实现(毕业论文+程序源码)——网上论坛
  10. 最强代码审查工具报告
  11. 【论文翻译 AAAI 2020 | 知识图谱综述】A Survey on Knowledge Graphs: Representation, Acquisition and Applications
  12. Django 中文本地化汉化方法
  13. 计算机包含几个语素几个词,英语一词有几个语素
  14. 【题库】上海市学校心理咨询师-普通心理学-考点解析 13.3 性格测量
  15. ubuntu清空回收站命令
  16. 融捷能源携手企企通,打造智能化、数字化采购平台
  17. Android通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
  18. 2022年济南12行政区高新技术企业补贴政策及认定条件汇总
  19. 海上风电场对雷达性能的影响——雷达回波
  20. mysql中的视图作用是什么意思_mysql数据库视图的作用是什么意思

热门文章

  1. windows7无法自动修复计算机怎么办,win7电脑自动修复不了开不了机怎么办
  2. RegularExpression正则表达式
  3. 阿米巴经营(学习总结)
  4. 渗透测试靶机vulnhub——DC4实战笔记
  5. lxy 3.0php网络验证,飘零网络验证系统金盾3.0WEB源码(和谐版)下载
  6. oracle 如何导入txt,Oracle中导入TXT并进行处理
  7. 在EXCEL中导入txt文本数据
  8. 工程伦理2021期末
  9. Linux内核数据结构——链表
  10. 计算机网络实验报告tcp,TCP 计算机网络实验报告