SpringCloud-搭建XXL-JOB任务调度平台教程

这篇具有很好参考价值的文章主要介绍了SpringCloud-搭建XXL-JOB任务调度平台教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、XXL-JOB任务调度平台介绍

XXL-JOB是一个轻量级分布式任务调度框架,旨在解决分布式系统中的任务调度问题,提高系统的处理效率和任务管理的便捷性。

1. XXL-JOB任务调度概念

XXL-JOB任务调度平台通过中心化管理方式,使得任务的调度更加高效和集中。平台不仅提供了丰富的任务调度功能,例如:CRON表达式、任务依赖、失败重试、任务超时处理、任务分片等,还提供了实时的任务日志、运行结果监控等功能,大大简化了任务调度的复杂性。


2. XXL-JOB任务调度平台架构

XXL-JOB的基本架构主要包括以下几个组成部分:

  • 调度中心(Admin):负责任务的添加、编辑、删除以及触发任务执行。
  • 执行器(Executor):负责接受调度中心的命令,执行具体的任务逻辑。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

在实际开发中,XXL-JOB的任务调度中心负责管理和分配任务,而各个服务或应用需要集成执行器以注册到XXL-JOB任务调度中心。执行器负责实际执行这些任务,并向调度中心报告执行结果。


3. XXL-JOB功能

XXL-JOB具有强大且实用的功能,具体如下:

功能 描述
任务调度 支持CRON表达式,动态设置执行频率
任务依赖 支持跨任务依赖,任务链的形式执行
失败处理 支持失败重试机制,自定义重试次数
超时处理 支持任务执行超时设置,超时后自动终止
日志监控 支持实时日志监控,查看任务执行详情
负载均衡 执行器支持集群部署,实现任务负载均衡

二、XXL-JOB搭建流程

搭建XXL-JOB平台涉及到多个步骤,包括环境准备、调度中心的部署、执行器的集成和配置等。

1、环境准备

  • Java环境:JDK1.8或更高版本。
  • 数据库:MySQL5.5及以上。
  • Maven:用于项目构建。
  • 可运行的SpringCloud项目。

2、调度中心部署

克隆 XXL-JOB 的代码仓库:

git clone https://github.com/xuxueli/xxl-job.git

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

导入 doc/db/tables_xxl_job.sql 到 MySQL 数据库,创建所需的数据库和表。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

修改调度中心配置文件 application.properties,配置数据库信息。

spring.datasource.url=jdbc:mysql://localhost:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=yourpassword

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

复制到 xxl-job 项目目录下。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

IDEA内修改父级项目的 pom.xml 的模块引用,将 xxl-job 引入到项目里作为一个独立的模块。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

引入成功后,xxl-job 模块颜色变为黑色。

启动 xl-job-admin 项目。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

任务调度中心成功启动。

初始登录信息:admin/123456

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java


3、执行器集成

在 SpringCloud 项目的 pom.xml 文件中添加 XXL-JOB 的依赖:

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>2.4.2</version>
</dependency>

这里 2.4.2 是我的 xxl-job 的版本号,不知道可以去下载的 xxl-job 包下的 pom.xml 看版本。

配置执行器:

在 application.properties 或 application.yml 中配置执行器信息:

xxl:
  job:
    admin:
      addresses: http://localhost:8080/xxl-job-admin
    executor:
      appname: xxl-job-executor-sample
      address:
      ip:
      port: 9999
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 30

创建任务执行类:
在 Spring Cloud 项目中创建一个任务类,使用 @XxlJob 注解标记任务执行方法:

import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component;

@Component
public class SampleXxlJob {
    @XxlJob("demoTaskHandler")
    public void demoTaskHandler() throws Exception {
        System.out.println("XXL-JOB, Hello World.");
    }
}

启动Spring Cloud服务,执行器将自动注册到调度中心,并可以在 XXL-JOB 管理员界面添加和触发任务。


三、XXL-JOB平台的使用

1、管理任务调度

在任务管理页面,我们看到有哪些任务已经被注册,我们可以选择任务立即去执行,也可以查看任务的执行日志,XXL-JOB平台提供给我们非常多的便捷操作。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java


2、创建定时任务

左侧菜单的 [任务管理] 里创建新任务。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

Cron 里选择触发周期,下方会显示最近运行时间,如图所示,我设定的是每月1号0点定时运行。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java

主要就是填写 Cron(定时设置)和JobHandler(自动调用的接口) 。

SpringCloud-搭建XXL-JOB任务调度平台教程,Java,spring cloud,spring,后端,xxljob,任务调度中心,搭建,java


四、XXL-JOB任务调度平台搭建总结

通过Spring Cloud集成XXL-JOB任务调度平台,可以使微服务环境中的任务调度更加灵活和高效。整个过程中,调度中心和执行器的正确配置是关键。此外,通过XXL-JOB提供的控制台,用户可以轻松管理和监控任务的运行状态,实现任务的高效执行。

本教程提供了从平台介绍到具体搭建流程的详细说明,旨在帮助开发者和系统管理员快速理解和部署XXL-JOB任务调度平台。通过此平台的应用,大型分布式系统的任务管理将变得更为简单和高效。文章来源地址https://www.toymoban.com/news/detail-860672.html

到了这里,关于SpringCloud-搭建XXL-JOB任务调度平台教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【分布式任务调度平台 XXL-JOB 急速入门】从零开始将 XXL-JOB 接入到自己的项目

                                    💧 分布式任务调度平台 X X L − J O B 急速入门:从零开始将 X X L − J O B 接入到自己的项目 color{#FF1493}{分布式任务调度平台 XXL-JOB 急速入门:从零开始将 XXL-JOB 接入到自己的项目} 分布式任务调度平台 XX L − J OB 急速入门:从零

    2024年02月14日
    浏览(44)
  • 初识轻量级分布式任务调度平台 xxl-job

    大家好,这里是 Rocky 编程日记 ,喜欢后端架构及中间件源码,目前正在阅读 xxl-job 源码。同时也把自己学习该 xxl-job 笔记,代码分享出来,供大家学习交流,如若笔记中有不对的地方,那一定是当时我的理解还不够,希望你能及时提出。 如果对于该笔记存在很多疑惑,欢迎

    2024年02月10日
    浏览(315)
  • 分布式任务调度平台XXL-JOB学习笔记-helloworld运行

    环境:win10 eclipse java17 mysql8.0.17 xxl-job 2.4 源码:https://github.com/xuxueli/xxl-job/ 导入时按Existing Maven Projects导入,先导入xxl-job-admin(管理平台)和xxl-job-executor-sample-springboot(通过springboot管理的执行器实例)。 如果导入时速度非常慢,或者报错如 Plugin ‘org.apache.maven.plugins:maven-

    2024年02月13日
    浏览(49)
  • 基于docker的分布式任务调度系统xxl-job搭建

    本文所使用的操作系统为: CentOS-7-x86_64-DVD-2009 xxl-job 依赖 mysql,所以必须要安装mysql才行! 访问以下链接:https://hub.docker.com/_/mysql/ 寻找自己需要的MySQL版本拉取即可 1.下载镜像 这里未指定版本号,默认拉取的是最新MySQL镜像 2.导入zip包 下载xxljob项目,查看releases版本 https:

    2024年02月20日
    浏览(58)
  • 使用java实现 分布式任务调度平台XXL-JOB 部署及使用

    XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 详细的特性和优点参考官网地址:https://www.xuxueli.com/xxl-job/ 一、任务调度 0.下载官方源码 1.解压后可以在 xxl-job-2.3.1docdb 找

    2024年02月11日
    浏览(49)
  • xxl-Job分布式任务调度

    我们可以先思考一下业务场景的解决方案: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。 某银行系统需要在信用卡到期还款日的前三天进行短信提醒。 某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。 12306会根据车次的不同,设置某

    2024年02月15日
    浏览(44)
  • 【分布式任务调度】XXL-JOB的任务调度实现原理(四)

    XXL-JOB专题历史文章列表: XXL-JOB调度中心集群部署配置(一) XXL-JOB执行器配置及定时任务的创建(二) XXL-JOB调度中心对执行器的上下线感知实现原理(三) 本篇的主要内容是XXL-JOB的任务调度流程及其实现原理,包含了两个部分: 调度中心如何进行任务调度 执行器执行任

    2024年02月16日
    浏览(42)
  • 分布式定时任务调度xxl-job

    Quartz中最重要的三个对象:Job(作业)、Trigger(触发器)、Scheduler(调度器)。 xxl-job的调度原理:调度线程在一个while循环中不断地获取一定数量的即将触发的Trigger,拿到绑定的Job,包装成工作线程执行。 当然,不管在任何调度系统中,底层都是线程模型。如果要自己写一个

    2024年03月10日
    浏览(54)
  • xxl-Job分布式任务调度 入门

    我们可以先思考一下业务场景的解决方案: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。 某银行系统需要在信用卡到期还款日的前三天进行短信提醒。 某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。 12306会根据车次的不同,设置某

    2024年02月03日
    浏览(102)
  • XXL-JOB 任务调度中心 后台反弹getshell

     访问漏洞场景,使用弱口令admin/123456,进入后台 在任务管理处新增 运行模式一定要选shell模式,其他的地方随便填   保存之后点击操作 选择GLUE IDE,我们可以通过DNSlog判断一下 然后我们保存,然后执行一次 刷新之后,出现下图情况,证明设备出网 DNSLog Platform   那我们就可

    2024年02月04日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包