SpringCloud集成XXL-JOB定时任务

news2024/9/22 23:35:17

项目场景:

XXL-JOB是一个分布式任务调度平台,它能够帮助开发者轻松地实现任务的定时执行、任务调度和任务管理


接入步骤

下载XXL-JOB压缩包

链接: xxl-job
在这里插入图片描述

XXL-JOB做为子模块

  1. 将压缩包解压,项目二级新建目录xxl-job,放入目录中。例:
  • my-msdf-cloud
    • my-gateway
    • my-auth
    • my-system
    • xxl-job
  1. 将xxl-job-executor-samples文件夹中的XxlJobConfig配置类,拷贝到xxl-job-core中。然后将文件夹xxl-job-executor-samples删除即可,里面是范例DEMO代码。
  2. 在根目录的pom.xml文件中,将xxl-job模块设置为子模块。
	<modules>
        <module>...</module>
        <module>...</module>
        <module>xxl-job</module>
    </modules>
  1. 在xxl-job文件夹中找到/doc/db,在数据库中执行文件tables_xxl_job.sql。
  2. 修改xxl-job-admin下的配置文件,主要将端口号更改防止冲突,还有将数据库连接信息更改,accessToken设置为空
server.port=9090
server.servlet.context-path=/xxl-job-admin
### 新增的信息,用于后续注册nacos 
spring.application.name=xxl-job-admin
......
......
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://xxx:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
......
......
### xxl-job, access token 
xxl.job.accessToken=
  1. 在xxl-job-admin中引入Nacos服务注册的依赖和自定义的公共配置
		<dependency>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
		</dependency>
		
		<dependency>
			<groupId>com.my</groupId>
			<artifactId>my-common-config</artifactId>
		</dependency>

公共配置里面是Nacos的相关信息,如没有公共配置的文件,可以直接在xxl-job-admin的配置文件里面写入以下内容

spring.cloud.nacos.discovery.server-addr=xxx:8848
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos

spring.cloud.nacos.config.server-addr=xxx:8848
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.file-extension=yml
spring.cloud.nacos.config.shared-dataids=common.yml
  1. 启动运行xxl-job-admin的启动类,可以发现启动成功,并且注册到了Nacos。
    xxl-job地址:http://localhost:9090/xxl-job-admin/
    在这里插入图片描述

使用

  1. 在需要使用的微服务引入依赖
		<dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
        </dependency>
  1. 配置文件新增xxl-job信息
xxl:
  job:
    admin:
      addresses: http://localhost:9090/xxl-job-admin/
    executor:
    #不同的微服务执行器端口设置为不同
      port: 9092
    #分别配置执行器的名称、ip地址、端口号
    #注意:如果配置多个执行器时,防止端口冲突
      appname: my-system
      address: 
      ip:
      #执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限
      logpath: /logs/xxl-job/jobhandler
      #执行器Log文件定期清理功能,指定日志保存天数,日志文件过期自动删除。限制至少保持3天,否则功能不生效;
      #-1表示永不删除
      logretentiondays: 200
    accessToken: 
  1. 新建配置文件
import com.xxl.job.core.config.XxlJobConfig;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyXxlJobConfig extends XxlJobConfig {

}
  1. 在XXL-JOB新建对应执行器
    在这里插入图片描述
  2. 任务管理新建一个任务,然后在代码中新建一个类,testtest对应JobHandler里面的值
@Component(value = "testJobHandler")
public class testJobHandler {
    @XxlJob(value = "testest")
    public ReturnT<String> testest(String param) {
        try {
            XxlJobHelper.log("执行成功");
        } catch (Exception e) {
            XxlJobHelper.log("执行失败:"+e.getMessage());
        }
        return ReturnT.SUCCESS;
    }
}

引入的依赖版本均在父pom中进行版本配置,未配置需要加version

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

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

相关文章

后端Spring/SpringBoot框架基础介绍

1.Spring基础介绍 spring官网&#xff1a;https://spring.io/ 官方对spring的描述&#xff1a;使java更快、更容易、更安全&#xff0c;聚焦于速度、简洁和生产力。并且是全世界最流行的Java框架。 Spring如今已经形成开发生态圈&#xff0c;它提供若干个子项目&#xff0c;每…

超声波清洗机哪个牌子效果最好?四个可靠的超声波眼镜清洗机品牌推荐

作为一个常年佩戴眼镜的用户&#xff0c;还是养宠家庭&#xff0c;对于眼镜的清洗&#xff0c;一直是倍感困扰的&#xff0c;养宠的家庭&#xff0c;每天镜片上极易沾染灰尘&#xff0c;用眼镜布擦拭真的很容易把镜片刮花。尽管有时候路过眼镜店会进去清洗&#xff0c;但是终归…

【数学建模】LINGO编程

LINGO是一种专门用于求解数学规划问题的软件包。由于LINGO执行速度快&#xff0c;易于方便地输入、求解和分析数学规划问题&#xff0c;因此在教学、科研和工业界得到了广泛应用。LINGO主要用于求解线性规划、非线性规划、一次规划和整数规划等问题&#xff0c;也可用于求解一些…

Next-Key Lock 详解及其在 REPEATABLE READ 隔离级别中的作用

Next-Key Lock 是 MySQL InnoDB 引擎中使用的一种锁定机制&#xff0c;专门用于在 REPEATABLE READ 隔离级别下防止幻读&#xff08;Phantom Reads&#xff09;。它结合了行锁&#xff08;Record Lock&#xff09;和间隙锁&#xff08;Gap Lock&#xff09;&#xff0c;能够在高…

抽卡机小程序,开启全新拆卡乐趣

近段时间&#xff0c;盲盒卡牌市场异常火爆&#xff0c;最近爆火的“小马宝莉”系列卡牌就深受消费者的喜爱&#xff0c;受到了广泛关注&#xff0c;同时也推动了卡牌市场的快速发展&#xff01;盲盒卡牌拥有隐藏款卡牌和限量款卡牌&#xff0c;具有非常大的收藏价值&#xff0…

图纸防泄密高招:5款经典的图纸加密软件

图纸加密软件是专为保护设计图纸等敏感文件而设计的加密工具&#xff0c;通过先进的加密技术确保文件在传输、存储和使用过程中的安全性。小编试用后发现了5款经典的图纸加密软件。 1. 安企神软件 7天试用https://work.weixin.qq.com/ca/cawcde06a33907e60a 重点介绍&#xf…

2-68 基于matlab的小波分解子模式和盒维数的车型识别程序

基于matlab的小波分解子模式和盒维数的车型识别程序&#xff0c;可以选择不同车型&#xff0c;包括小车、中车、大车。GUI可视化界面操作&#xff0c;已包括多种图片。程序已调通&#xff0c;可直接运行。 2-68 小波分解子模式和盒维数 - 小红书 (xiaohongshu.com)

软件工程的核心原则:KISS, DRY, SOLID, YAGNI

软件工程的核心原则&#xff1a;KISS, DRY, SOLID, YAGNI — 深入解析与实践指南 引言 在软件开发的广阔领域中&#xff0c;原则和实践是构建高质量、可维护系统的基石。本文将深入探讨四个核心原则&#xff1a;KISS&#xff08;保持简单&#xff0c;愚蠢&#xff09;、DRY&a…

Element-05.组件-Form表单

一.Form表单组件 Form表单组件可以定义在Dialog对话框组件中 与Dialog对话框组件中的属性dialogTableVisible相似&#xff0c;dialogFormVisible的默认值也为false&#xff0c;这也说明了Dialog对话框中的Form表单默认是不显示的&#xff0c;只有当绑定的click事件发生后才会将…

解决麒麟 V10 SP1 升级 Python 后 yum dnf不可用问题

目录 一、前提概要 二、解决办法 1、卸载原有的 python 2、安装 Python 3.7.9 rpm 3、安装一系列 yum 相关 rpm 4、rpm 包下载 一、前提概要 在部署 gaussDB 的时候&#xff0c;安装代理时要求 python 版本满足 3.7.9&#xff0c;但已安装的麒麟 V10 内集成的 python 版…

探索工业互联网智能赋能智能制造算法综述

概述 文档地址&#xff1a;https://arxiv.org/pdf/2312.16174 源码地址&#xff1a;https://github.com/microsoft/Cream.git 由于激烈的竞争环境和日益增长的个性化定制需求&#xff0c;制造业面临着数字化转型和升级的压力。为我们指明了前进的方向。然而&#xff0c;现有研…

stable diffusion inapinting(img2img+inpaint/inapint-model)

https://zhuanlan.zhihu.com/p/681250295https://zhuanlan.zhihu.com/p/681250295AIGC专栏4——Stable Diffusion原理解析-inpaint修复图片为例_diffusion inpaint-CSDN博客文章浏览阅读1.7w次,点赞42次,收藏79次。Inpaint是Stable Diffusion中的常用方法,一起简单学习一下。…

python之pandas (5 画图)

画图 Series画图 import pandas as pd import numpy as np import matplotlib.pyplot as pltdatapd.Series(np.random.randn(1000),indexnp.arange(1000)) #randn生成服从标准正态分布&#xff08;均值为0&#xff0c;标准差为1&#xff09;的随机样本&#xff0c;1000表示10…

复现YOLOv8语义分割训练自己的数据集

一、YOLOv8源码下载&#xff1a;https://github.com/ultralytics/ultralytics/tree/v8.2.76 我下载的是最新版本8.2.76 接着下载权重 下载源码后解压 二、配置虚拟环境 创建虚拟环境 conda create -n yolov8 python3.9 激活环境 conda activate yolov8 下载pytorch,官网地…

数据结构——关于栈

1.栈 1.1栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作 进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出的原则 比如&#xff1a;羽毛球桶&#xff0c;弹夹等等 压…

【C++面经】

1 2 因为ptr还记录了对象的个数&#xff0c;通过中括号标识&#xff0c;就知道药一一调用数组的每个对象的析构函数 3 4 5 6

【C语言】二叉树链式结构的实现,详解

0.前言 二叉树的基本操作的实现基本离不开一个思想——分治算法。 分治算法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题&#xff0c;这些子问题相互独立且与原问题相同。递归地解这些子问题&#xff0c;然后将各子问题的解合并得到原问题的解。这样&#xff0…

mysql主从复制同步、mysql5.7版本安装配置、python操作mysql数据库、mycat读写分离实现

一、mysql主从复制及同步 1、mysql主从自动开机同步 2、配置mysql5.7版本 mysql-5.7.44-linux-glibc2.12-x86_64.tar 启动服务、登录 对数据库进行基本操作 3、使用python操纵mysql数据库 4、编辑python脚本自动化操纵mysql数据库 二、mycat读写分离实现 1.上传jdk和mycat安装包…

项目简介:pyiqa-sal | 图像质量评价代码库

项目地址&#xff1a;https://github.com/Alexkkir/pyiqa-sal/tree/main 这是一个纯python和pytorch编写的图像质量评估工具箱&#xff0c;提供了许多主流全参考&#xff08;FR&#xff09;和无参考&#xff08;NR&#xff09;指标的重新实现&#xff08;如果有的话&#xff0…

MES系统从哪几方面提升企业制造水平?

在当今这个快速变化的制造环境中&#xff0c;企业对于提升制造水平的追求从未停止。制造执行系统&#xff08;MES&#xff09;作为连接企业战略规划与车间实际操作的核心工具&#xff0c;其重要性日益凸显。盘古信息MES系统&#xff0c;凭借其独特的功能模块和创新的设计理念&a…