【SpringBoot高级篇】SpringBoot集成XXL-JOB分布式任务调度平台

news2024/11/20 8:25:33

【SpringBoot高级篇】SpringBoot集成XXL-JOB分布式任务调度平台

  • 简介
  • 下载源码
  • 部署任务调度平台
    • 执行SQL脚本
    • 部署任务平台
  • 简单使用
    • 初始化测试项目
    • pom依赖
    • SampleXxlJob
    • 修改配置
    • 调度平台配置执行器
    • 任务管理添加任务

简介

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

项目地址: https://gitee.com/xuxueli0323/xxl-job

下载源码

源码地址:https://gitee.com/xuxueli0323/xxl-job

在这里插入图片描述

git clone 到本地,使用idea打开

在这里插入图片描述

或者使用idea直接拉项目在这里插入图片描述

部署任务调度平台

执行SQL脚本

在这里插入图片描述

执行SQL脚本,生成相关的表

在这里插入图片描述

部署任务平台

简单测试 可以直接启动xxl-job-admin项目的mian使用

1、修改数据源用户名/密码

在这里插入图片描述

2、maven install/package 打包到本地库在这里插入图片描述

3、cmd窗口,java -jar xxl-job-admin-2.4.0-SNAPSHOT.jar启动项目

在这里插入图片描述

4、任务调度平台地址:http://localhost:8080/xxl-job-admin/ 用户名: admin 密码:123456

在这里插入图片描述

简单使用

初始化测试项目

新建springboot项目,拷贝下面的文件到自己项目中

在这里插入图片描述

pom依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

SampleXxlJob

/**
 * XxlJob开发示例(Bean模式)
 *
 * 开发步骤:
 *      1、任务开发:在Spring Bean实例中,开发Job方法;
 *      2、注解配置:为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
 *      3、执行日志:需要通过 "XxlJobHelper.log" 打印执行日志;
 *      4、任务结果:默认任务结果为 "成功" 状态,不需要主动设置;如有诉求,比如设置任务结果为失败,可以通过 "XxlJobHelper.handleFail/handleSuccess" 自主设置任务结果;
 *
 */
@Component
public class SampleXxlJob {
    private static Logger logger = LoggerFactory.getLogger(SampleXxlJob.class);
    /**
     * 1、简单任务示例(Bean模式)
     */
    @XxlJob("lywJobHandler")
    public void demoJobHandler() throws Exception {
        XxlJobHelper.log("开始测试xxl-job demo1");

        for (int i = 0; i < 5; i++) {
            XxlJobHelper.log("开始生成:" + i);
            TimeUnit.SECONDS.sleep(2);
        }
        // default success
    }
    @XxlJob("dayJobHandler")
    public void dayJobHandler() throws Exception {
        XxlJobHelper.log("开始测试xxl-job demo2");

        for (int i = 0; i < 5; i++) {
            XxlJobHelper.log("开始生成:" + i);
            TimeUnit.SECONDS.sleep(2);
        }
        // default success
    }

    /**
     * 5、生命周期任务示例:任务初始化与销毁时,支持自定义相关逻辑;
     */
    @XxlJob(value = "demoJobHandler2", init = "init", destroy = "destroy")
    public void demoJobHandler2() throws Exception {
        XxlJobHelper.log("XXL-JOB, Hello World.");
    }
    public void init(){
        logger.info("init");
    }
    public void destroy(){
        logger.info("destroy");
    }
}

修改配置

修改项目配置,启动demo项目在这里插入图片描述

调度平台配置执行器

AppName为 demo项目中的指定的xxl.job.executor.appname=xxl-job-executor-lyw

在这里插入图片描述

OnLine机器地址: 配置了执行器,启动对应项目,会自动显示上线

在这里插入图片描述

任务管理添加任务

添加定时任务

在这里插入图片描述

启动任务

在这里插入图片描述

查看日志

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183311.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

连续函数的运算与初等函数的连续性——“高等数学”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是连续函数的运算与初等函数的连续性&#xff0c;上篇博客我们学到了函数的连续性和间断点&#xff0c;这篇博客相当于是上篇博客的一个补充&#xff0c;好吧&#xff0c;现在就让我们进入高等数学的世界吧 一、…

【刷题】不用加减乘除做加法

这是一道简单的数学题。但是比较繁琐&#xff0c;需要有耐心。 目录 前言 一、找规律 二、怎么实现加法&#xff1f; 总结 前言 这道题不让用四则运算符做加法&#xff0c;于是我第一反应是用位运算。 难道转成二进制再使用位运算吗&#xff0c;显然不需要&#xff0c;列草稿可…

Java 开发环境配置 “JDK”(超详细整理,适合新手入门)

前言 &#x1f4dc; “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等&#xff0c;IT技术干货、学习经验、面试资料、刷题记录&#xff0c;以及遇到的问题和解决方案&#xff0c;记录自己成长的点滴 目录 前言 一、什么是JDK&#xff1f; 1、大概介绍 2、详细介绍 …

MySQL进阶——触发器

1.触发器定义 同存储过程和函数类似&#xff0c;MySQL中的触发器也是存储在系统内部的一段程序代码&#xff0c;可以把它看作是一个特殊的存储过程。所不同的是&#xff0c;触发器无需人工调用&#xff0c;当程序满足定义条件时就会被MySQL自动调用。这些条件可以称为触发事件…

Weapp影视评分项目开发(04):三方组件的使用

知识点 三方组件库的安装与使用 computed 的安装与使用 新建代码分支 我们以 master 为基准&#xff0c;在 gitee 上新建代码分支 component&#xff0c;并在该分支上进行代码开发。命令如下&#xff1a; git pull // 拉取 component 分支 git checkout component // 切换到…

哪款无线耳机音质好?发烧友推荐四大音质超好的蓝牙耳机

蓝牙耳机因为摆脱了线的束缚&#xff0c;使用起来会更方便&#xff0c;近几年在人们的日常生活中也越来越常见。哪款无线耳机音质好&#xff1f;在此&#xff0c;我来给整理了几款发烧友都在推荐的好音质蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱蓝牙耳机 售价&…

推荐系统之ABTest实验中心

5.3 ABTest实验中心 学习目标 目标 无应用 无 个性化推荐系统、搜索引擎、广告系统&#xff0c;这些系统都需要在线上不断上线&#xff0c;不断优化&#xff0c;优化之后怎么确定是好是坏。这时就需要ABTest来确定&#xff0c;最近想的办法、优化的算法、优化的逻辑数据是正向…

Linux | 人生苦短,我用Vim【最受欢迎的编辑器】

一探顶级编辑器——Vim一、初次见面&#xff0c;你好vim1、vim的基本概念2、IDE与编辑器的区别3、vim中的五种常见模式介绍二、初出茅庐&#xff0c;vim基本操作1、安装vim&#xff0c;进入vim2、vim中的模式切换&#x1f4fa;三、初露锋芒&#xff0c;vim指令集1、&#x1f52…

数据库系统概论——关系代数详解

文章目录1、关系代数概述1.1 传统的集合运算1.2 专门的关系运算1.2.1 选择运算1.2.2 投影&#xff08;Projection&#xff09;1.2.3 连接&#xff08;Join&#xff09;1.2.4 两类常用连接运算1.2.5 除&#xff08;Division&#xff09;1、关系代数概述 关系代数是一种抽象的查…

虹科分享 | 虹科智能自动化2022文章精选

虹科智能自动化事业部一直围绕着工业自动化、能源管理与楼宇自动化三大方向&#xff0c;为客户提供最满意的技术服务和最适合的解决方案&#xff0c;并结合客户需求、行业发展动向和产品资讯&#xff0c;虹科智能自动化团队为大家带来了丰富的技术文章和应用案例。温故而知新&a…

【SpringCloud复习巩固】Nacos

Nacos 链接&#xff1a;https://pan.baidu.com/s/1Ct6upj-kpLuVwyNpk_3KMw 提取码&#xff1a;yyac 目录 一.Nacos 1.1认识Nacos 1.2安装Nacos 1.2.1下载安装包 1.2.2解压到任意非中文目录 1.2.3介绍 1.2.4启动 1.2.5访问 1.3服务注册到Nacos 1.3.1在cloud-demo父工程…

APP漏洞挖掘(二)同开发商的多款APP存在通用漏洞

0x01 前言 测某一APP时&#xff0c;根据信息收集测试&#xff0c;发现APP的后台系统存在SQL注入、XSS、弱口令、信息泄漏等漏洞&#xff0c;此APP本身存在逻辑漏洞与SQL注入漏洞&#xff0c;再通过观察酷传搜索的结果发现此APP开发商开发了三十几个APP&#xff0c;猜测可能存在…

Vue笔记01 模板语法,数据代理,事件处理,计算监听属性,绑定样式,列表渲染

基本使用 引入vue 创建vue实例并关联容器 一个Vue实例只应对应一个容器 一个Vue实例可以有多个组件 模板语法 使用Vue实例中数据 root容器中代码被称为vue模板 语法分为插值语法和指令(v-xxx) 插值语法 绑定标签体内容 {{}}中的可以是js表达式&#xff08;特殊的js代码&…

手把手带你调参Yolo v5(一)

来源&#xff1a;投稿 作者&#xff1a;王同学 编辑&#xff1a;学姐 YOLO系列模型在目标检测领域有着十分重要的地位&#xff0c;随着版本不停的迭代&#xff0c;模型的性能在不断地提升&#xff0c;源码提供的功能也越来越多&#xff0c;那么如何使用源码就显得十分的重要&am…

Kylin基本介绍、特点、架构

目录1. Kylin的基本介绍2. Kylin的特点3. Kylin的架构1. Kylin的基本介绍 Kylin是一种MOLAP(Multidimensional OLAP)&#xff0c;基于多维数据集&#xff0c;需要预计算。另一种OLAP是ROLAP(Relational OLAP)&#xff0c;基于关系型数据库&#xff0c;不需要预计算&#xff0c…

单链表的使用方法.数据结构(三)[上]

前言 提示&#xff1a;文本为数据解构(三)单链表&#xff1a; 本文具体讲解单链表的具体使用方法 提示&#xff1a;以下是本篇文 系列文章目录 第一章 数据解构(一) 第二章 顺序表的具体使用方法.数据解构(二) 文章目录 前言 系列文章目录 文章目录 一、单链表视图 二、…

JavaWeb—Tomcat服务器

1 tomcat概述及基本使用 概述 tomcat是apache软件基金会的jakatai项目组的一个核心项目&#xff0c;由apache、sun和其他一些公司及个 人共同开发而成。由于有了sun公司的参与和支持&#xff0c;最新的servlet、jsp规范总是能在tomcat中得到 体现。因为tomcat技术先进、性能稳定…

git搭建远程仓库

前言&#xff1a;我们现在搭建远程仓库&#xff0c;常见的&#xff0c;是去github、gitlab、gitee等这类第三方平台网站上进行部署。咱就顺道说说这三个的区别。 github 是面向全世界的&#xff0c;由国外开发的&#xff0c;基本上放在上面都是开源的&#xff0c;私人仓库好像…

助力工业物联网,工业大数据之脚本开发【五】

01&#xff1a;脚本开发思路目标&#xff1a;实现自动化脚本开发的设计思路分析路径step1&#xff1a;脚本目标step2&#xff1a;实现流程step3&#xff1a;脚本选型step4&#xff1a;单个测试实施创建一个文件&#xff0c;存放要采集的表的名称#创建测试目录 mkdir -p /opt/da…

【苹果推iMessage】软件安装UIAPplicationSharedApplicationiMessage

推荐内容IMESSGAE相关 作者✈️IMEAX推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容3.日历推 *** …