当前位置: 首页 > news >正文

springboot集成xx-job;

概念理解:

xx-job是一个分布式任务调度平台。比如你有AB两个项目。

AB的定时任务就要在xx-job上个注册。同时AB要配置对应的依赖。

所以集成xx-job要分2步骤:第一步:先搭建xx-job服务

第二步,在A项目中导包并引用。

第一步:搭建xx-job服务

0.下载jar

地址:

Xxl-job项目地址:
GitHub地址:https://github.com/xuxueli/xxl-job
Gitee地址:https://gitee.com/xuxueli0323/xxl-job

1导入idea

2执行数据库脚本。创建数据库

 

3修改项目配置文件

 4启动xxjobadmin

5访问地址

http://localhost:8080/xxl-job-admin/

用户名admin 密码123456

第二步:A项目(springboot项目)基本xx-job;

2.1导包:

  <!-- SpringBoot集成Xxl-Job --><dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.3.0</version></dependency>

2.2创建配置类

package com.example.springbootjdbc.config;import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @ClassName: XxlJobConfig* @Description: xxl-job依赖配置* @author:* @date: 2022年12月07日 08:37* @version: 1.0*/
@Configuration  //是否开启xxl-job定时任务,注释掉 //@Configuration 则不开启定时任务
@Data
@Slf4j
public class XxlJobConfig {@Value("${xxl.job.admin.addresses}")private String adminAddresses;@Value("${xxl.job.accessToken}")private String accessToken;@Value("${xxl.job.executor.appname}")private String appname;@Value("${xxl.job.executor.address}")private String address;@Value("${xxl.job.executor.ip}")private String ip;@Value("${xxl.job.executor.port}")private int port;@Value("${xxl.job.executor.logpath}")private String logPath;@Value("${xxl.job.executor.logretentiondays}")private int logRetentionDays;@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {XxlJobHelper.log(">>>>>>>>>>> xxl-job config init.>>>>>>>>>>>");System.out.println("=============== xxl-job config init.===============");XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(port);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}
}

2.3修改yml文件 application.yml

# Xxl-Job分布式定时任务调度中心
xxl:job:admin:# 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。addresses: http://localhost:8080/xxl-job-admin# addresses: http://192.168.110.2:9090/xxl-job-admin# 执行器通讯TOKEN [选填]:非空时启用 系统默认 default_tokenaccessToken: default_tokenexecutor:# 执行器的应用名称appname: mls-xxl-job# 执行器注册 [选填]:优先使用该配置作为注册地址address: ""# 执行器IP [选填]:默认为空表示自动获取IPip: ""# 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999port: 9999# 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;logpath: D:\Codes\logs#logpath: /data/logs/mls/job# 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;logretentiondays: 7

2.4编写测试

package com.example.springbootjdbc.controller.job;import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;/*** @ClassName: XxlJobTest* @Description: XxlJobTest* @author:* @date: 2022年12月07日 12:58* @version: 1.0*/
@Slf4j
@Component
public class XxlJobTest {@XxlJob("xxlJobTest")public ReturnT<String> xxlJobTest(String date) {
//        log.info("---------xxlJobTest定时任务执行成功--------");ssXxlJobHelper.log("xxlJobTest定时任务执行成功");return ReturnT.SUCCESS;}}

2.5添加执行器

2.6添加任务

 

 2.7启动项目后执行测试并查看日志

 2.9启动项目后执行测试并查看日志后在查看执行日志

相关文章:

springboot集成xx-job;

概念理解&#xff1a; xx-job是一个分布式任务调度平台。比如你有AB两个项目。 AB的定时任务就要在xx-job上个注册。同时AB要配置对应的依赖。 所以集成xx-job要分2步骤&#xff1a;第一步&#xff1a;先搭建xx-job服务 第二步&#xff0c;在A项目中导包并引用。 第一步&am…...

35岁,失业6个月终于接到降薪offer:有面就面,薪酬不限,随机应变说瞎话,对奇葩面试官保持礼貌克制,为拿offer什么都能忍...

被裁后为了生存&#xff0c;人需要做出什么改变&#xff1f;一位35岁网友在失业6个月后终于拿到offer&#xff0c;虽然降薪到四年前的水平&#xff0c;但能继续养家糊口&#xff0c;楼主已经很满意了&#xff0c;并分享了自己的个人经验&#xff1a;1.挖掘历史项目经验&#xf…...

如何有效管理项目进度 都有哪些解决方法

项目进度管理是确保项目按时完成的关键因素之一。如果一个项目不能按时完成&#xff0c;那么它可能会导致成本超支、客户不满意和失去信誉等问题。因此&#xff0c;有效的项目进度管理至关重要。在本文中&#xff0c;我们将探讨如何有效管理项目进度以及可以采取哪些解决方法。…...

互联网随想(三) 光纤与电路交换

光纤的 “纤”&#xff0c;读 xian(先)&#xff0c;第一声&#xff0c;而不是 qian(千)。 光纤之于通信&#xff0c;就像半导体之于计算机。光纤突破了通信的电子瓶颈&#xff0c;就像半导体集成电路突破了计算机的电子管瓶颈一样。 但本文不是赞美光纤的&#xff0c;本文为反…...

electron之旅(二)react使用

首先使用react模板 我们这里使用的是vite和yarn yarn create vite #创建vite的react-js模板初始化依赖 yarn添加依赖 state(状态管理) yarn add redux react-reduxroutes(react路由) yarn add react-router-domelectron依赖 yarn add electron vite-plugin-electron cross-env…...

ChatGPT基础知识系列之Prompt

ChatGPT基础知识系列之Prompt 在 ChatGPT 中,用户可以输入任何问题或者话题,如天气、体育、新闻等等。系统将这个输入作为一个“提示”(prompt)输入到 GPT 模型中进行处理。GPT 模型会基于其学习到的语言规律和上下文知识,生成一个自然语言回答,并返回给用户。 例如,当…...

SpringBoot3 - Spring Security 6.0 Migration

Spring Security 6.0 Migration https://docs.spring.io/spring-security/reference/5.8/migration/servlet/config.html 最近在做SpringBoot2.x到3.0的升级。其中最主要的一部分是javax -> jakartapackageName的变更&#xff0c;另外一部分是对一些废弃/删除的类进行替换。…...

【新2023Q2模拟题JAVA】华为OD机试 - 最少停车数

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最少停车数 题目 特定大小的…...

《代码实例前端Vue》Security查询用户列表,用户新增

login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>系统登录-超市订单管理系统</title><link rel"stylesheet" href"../css/style.css"><script type&qu…...

CANopenNode学习笔记(一)--- README翻译

CANopenNode学习笔记 文章目录CANopenNode学习笔记特性CANopen其他CANopenNode 流程图文件结构对象字典编辑器CANopenNode 是免费开源的CANopen协议栈。 CANopen是建立在CAN基础上的用于嵌入式控制系统的国际标准化(EN 50325-4) (CiA301)高层协议。有关CANopen的更多信息&#…...

关于Android 11、12和13服务保活问题

物联网环境&#xff0c;为了解决不同厂商、不同设备、不同网络情况下使用顺畅&#xff0c;同时也考虑到节约成本&#xff0c;缩小应用体积的好处&#xff0c;我们需要一个服务应用一直存在系统中&#xff0c;保活它以提供服务给其他客户端调用。 开机自启动&#xff0c;通过广播…...

Java 泛型 使用案例

参考资料 Java 基础 - 泛型机制详解路人甲-Java泛型专题 目录一. 通用Mapper1.1 实体类1.2 Mapper基类1.3 自定义接口1.4 抽象基类Service1.5 调用二. session和bean的获取一. 通用Mapper 1.1 实体类 ⏹ Accessors(chain true): 允许链式调用 import lombok.Data; import …...

进程与线程

文章目录什么是线程线程与进程的关系线程与进程的区别什么是线程 上一篇文章中我们介绍了什么进程&#xff0c;我们把进程比作一个工厂&#xff0c;那么线程就是工厂中的流水线。引入进程的目的就是为了实现多个任务并发执行&#xff0c;但是如果频繁的创建销毁进程&#xff0…...

骑友,怎么挑选适合自己的赛事

骑友&#xff0c;怎么挑选适合自己的赛事一、从场地、路况、天气&#xff0c;各个方面了解赛事的要求。二、看完赛事&#xff0c;要知道自己适合参加什么样的比赛。三、通过比赛成绩&#xff0c;对比自己的实力。四、综合考虑自己的经济能力&#xff0c;根据自己的经济能力选择…...

【Java 数据结构与算法】-遍历Map和Set的方式

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【Java 数据结构与算法】 文章目录一、遍历Map法一 先获取Map集合的全部key的set集合&#xff0c;遍历map的key的Set集合法二 把map的key和value打包成Set的key后的这个Set集合法…...

组件、套件、 中间件、插件

组件、套件、 中间件、插件 组件 位于框架最底层&#xff0c;是由重复的代码提取出来合并而成。组件的本质&#xff0c;是一件产品&#xff0c;独立性很强&#xff0c;组件的核心&#xff0c;是复用&#xff0c;与其它功能又有强依赖关系。 模块 在中台产品和非中台产品中&…...

自动化工具 pytest 内核测试平台落地初体验

测试平台&#xff0c;有人说它鸡肋&#xff0c;有人说它有用&#xff0c;有人说它轮子&#xff0c;众说纷纭&#xff0c;不如从自身出发&#xff0c;考虑是否要做测试平台&#xff1a; 第 1 阶段&#xff0c;用 Pythonrequests 写接口自动化。 第 2 阶段&#xff0c;选择 unit…...

Python 自动化指南(繁琐工作自动化)第二版:四、列表

原文&#xff1a;https://automatetheboringstuff.com/2e/chapter4/ 在开始认真编写程序之前&#xff0c;您需要理解的另一个主题是列表数据类型及其表亲元组。列表和元组可以包含多个值&#xff0c;这使得编写处理大量数据的程序更加容易。由于列表本身可以包含其他列表&#…...

大数据领域的发展及其对现实世界的价值

大数据已经成为全球各行业领域不可或缺的一部分&#xff0c;并且其应用不断涌现。尽管很多人最初对“大数据”这一术语表示怀疑和不信任&#xff0c;但大数据技术已经确立了稳定的发展方向。根据调研机构的预测&#xff0c;到2027年&#xff0c;全球大数据市场规模将达到1090亿…...

几种常见的架构模式

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址 如果访问不了Github&#xff0c…...

使用 Taotoken 后如何通过用量看板清晰掌握各模型消耗与成本分布

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用 Taotoken 后如何通过用量看板清晰掌握各模型消耗与成本分布 当你在项目中接入多个大模型时&#xff0c;一个常见的困扰是成本…...

Cursor Pro功能完全解锁指南:三步实现免费无限使用终极方案

Cursor Pro功能完全解锁指南&#xff1a;三步实现免费无限使用终极方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached you…...

开源AI代码助手Codetie:本地部署、模型自选与实战调优指南

1. 项目概述&#xff1a;一个面向开发者的AI代码伴侣最近在GitHub上看到一个挺有意思的项目&#xff0c;叫codetie-ai/codetie。乍一看名字&#xff0c;可能以为是某个新的编程语言或者框架&#xff0c;但深入了解后&#xff0c;发现它的定位非常精准&#xff1a;一个开源的、本…...

技能开发套件(SDK)设计:从模块化到事件驱动的开发者效率工具

1. 项目概述&#xff1a;一个被低估的开发者效率工具如果你是一名开发者&#xff0c;尤其是经常需要与各种API、服务或硬件设备打交道的全栈或嵌入式工程师&#xff0c;那么你一定经历过这样的场景&#xff1a;为了测试一个新接口&#xff0c;你需要写一堆样板代码来初始化连接…...

3分钟免费转换:PNG/JPG图片如何无损转为SVG矢量图?

3分钟免费转换&#xff1a;PNG/JPG图片如何无损转为SVG矢量图&#xff1f; 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer vectorizer是一款基…...

Go语言json-repair库:高效修复LLM输出的非标准JSON

1. 项目概述&#xff1a;当LLM的JSON输出“不听话”时&#xff0c;我们怎么办&#xff1f; 如果你正在开发基于大语言模型&#xff08;LLM&#xff09;的应用&#xff0c;无论是智能客服、代码生成器&#xff0c;还是复杂的多智能体工作流&#xff0c;那么你肯定遇到过这个让人…...

[IdeaLoop · 灵感回路] 独立开发者创业/副业灵感日报 · 2026-05-14

灵感日报 2026年05月14日 从今日全网热点提炼&#xff0c;精选 5 个值得关注的商业方向。— 灵感回路 IdeaLoop 完整报告&#xff08;含竞品分析、MVP 规划、冷启动策略&#xff09;&#xff1a;idealoop.top &#x1f3c6; #1 胶片一键调色助手 综合评分&#xff1a;65 / 10…...

人工神经网络知识点讲解

人工神经网络知识点讲解 知识导图 人工神经网络 ├── 基础认知 │ ├── 神经网络的核心概念 │ ├── 神经元的工作机制 │ └── 网络的层级结构 ├── 激活函数 │ ├── 激活函数的作用 │ ├── 常见激活函数&#xff1a;sigmoid/tanh/ReLU/Softmax │ …...

TI毫米波雷达的测距极限:带宽、采样率与最大探测距离到底什么关系?

TI毫米波雷达测距极限&#xff1a;从理论公式到工程实践的深度解析 在自动驾驶和工业传感领域&#xff0c;毫米波雷达因其全天候工作能力和精确测距特性成为核心传感器。德州仪器(TI)的AWR和IWR系列雷达芯片凭借高集成度和灵活配置&#xff0c;被广泛应用于无人机避障、智能停车…...

开源停车查询工具技术解析:从数据抓取到API服务的完整架构实践

1. 项目概述&#xff1a;一个开源停车查询工具的诞生最近在GitHub上看到一个挺有意思的项目&#xff0c;叫Harperbot/openclaw-parking-query。光看名字&#xff0c;你大概能猜到它和停车查询有关。没错&#xff0c;这是一个开源的停车信息查询工具&#xff0c;或者说&#xff…...