SpringCloud + xxl-job 任务调度的简单使用

2023-11-08

概述:

  xxl-job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

  之前开发的SpringCloud项目,因为其中有个应用有几个定时任务,为了统一管理和更可视化以及监控提醒于是加入了xxl-job。好了,废话不多说,直接上干货。

使用:

  首先在github上下载源码https://github.com/xuxueli/xxl-job,导入/xxl-job/doc/db/tables_xxl_job.sql的sql文件

  然后导入其中的xxl-job-admin,我把xxl-job任务调度单独抽成了一个服务(坚持一个服务专做一件事)然后修改application.properties的配置,

  修改端口号,这里我的job应用端口是8083

  

 

 

 

  

 

修改数据库的路径和账号密码

  这是我的数据库配置,

 

 

  然后修改这里这里在后边解释为什么要配置邮箱(发件人的邮箱),这里的密码不是登陆的密码,而是这里的授权码

 

 

  这里简单说一下授权码的配置,登陆163邮箱然后点击设置,再点击POP3/SMTP/IMAP,然后再点击客户端授权密码--->开启客户端授权码--->重置授权码(如果忘记了授权码),然后设置授权码,这个授权码就是

spring.mail.password的密码。(port要填写什么根据自己的实际情况填写我给粘到下边了)

  然后在xxl-job-admin服务中导入xxl-job-core的包

<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.1.0</version>
</dependency>
好的,启动这个应用(这里要先启动一下eureka)然后访问localhost:8083(自己配置的端口号)
如果出现这个界面,那就是配置成功了。(默认账号密码是admin 123456)

 

 

 



下一步要在有定时任务的应用中配置
   在有定时任务的应用中导入xxl-job-core包(同上),然后在应用的yml/properties的配置文件中加入配置(这里我的是.yml文件)
    

    

 

 

   然后配置好自己此应用的端口号,然后新建一个config去赋值(在下载的文件中xxl-job-2.1.0\xxl-job-2.1.0\xxl-job-executor-samples\xxl-job-executor-sample-springboot\src\main\java\com\xxl\job\executor\core\config\XxlJobConfig.java,可以直接导入)

    

 

 

     然后再去新建一个类继承IJobHandler然后execute的方法中编写自己要执行的定时任务,

    

 

    这里的XxlJobLogger.log是xxl收集日志的类,好了,到此为止代码方面就结束了,然后启动这个应用

 

  下一步:

    打开localhost:8083,然后登陆进去点击执行器管理--->新增执行器(这里的appName就是之前在有定时任务的应用中的.yml/.properties文件中配置的appname,名称就相当于备注,排序就是列表显示的先后顺序,注册方式选自动注册,机器地址不用填写,然后保存)--->点击任务管理--->新增(这里的执行器就是刚才新增的执行器,任务描述就是备注,如果没有集群这里的路由策略就随便选一个就可以,cron就是执行定时任务的执行策略不懂得可以去搜搜,运行模式就选bean就可以具体的也可以去百度一下,JobHandler是之前新建的定时任务类,阻塞处理策略就不用解释了字面意思就可以理解,子任务id是什么呢,如果定时任务直接有业务关联要有先后顺序的话这里的子任务id就要写执行完这个任务需要立马执行下个任务的id,任务超时时间就是如果这个任务超过了这个设定的时间那么就会报警单位是秒,报警邮箱就是如果任务执行失败了那么就会给这里填写的邮箱发送信息,可以填写多个,那么发件人是谁呢,就是之前说的在xxl-job-admin中配置的163邮箱)都填写完了然后点击保存。

   

 

 

 

  下一步:

  这里填写完了就要执行这里的操作了(执行就是执行一次,启动就会根据填写的cron去定时的执行)

    

 

  xxl-job是个开源的平台,里边的外观功能都可以自己去修改和定义的。

  好了,大致就是这些了,如果有说的不对的地方还希望大家指点出来。

 

转载于:https://www.cnblogs.com/lqtbk/p/11599120.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringCloud + xxl-job 任务调度的简单使用 的相关文章

  • java try catch 程序流程什么时候中断?

    你好 我对 Java 中的异常处理不太熟悉 所以 正如主题在基本 try catch 块中所述 当我在 Try 块中捕获异常时 程序流程何时中断 try some code that raises an Exception catch Ex
  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • 如何实现具有LinkedHashMap类似功能的ConcurrentHashMap?

    我用过LinkedHashMap with accessOrdertrue 并同时允许最多 500 个条目作为数据的 LRU 缓存 但由于可扩展性问题 我想转向一些线程安全的替代方案 ConcurrentHashMap在这方面似乎不错 但缺
  • Spring boot 2.0.5.RELEASE和mongo 4.0连接问题

    我正在关注使用 MongoDB 访问数据教程春季网站 https spring io guides gs accessing data mongodb 我将 Mongo DB 服务器版本 4 安装为服务当我使用客户端连接到它时 它的身份验证
  • 帮助我避免 JPA、Hibernate 和 MySQL 的连接超时

    我正在使用 JPA Hibernate 作为提供者 Glassfish 和 MySQL 开发中一切都运行良好 但是当我将应用程序部署到测试服务器并让它运行 大部分空闲 过夜时 我通常会在早上遇到这样的情况 2011 03 09T15 06
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • 使用 Hibernate Dialect 设置表字符集/排序规则?

    我使用 Hibernate MySQLInnoDB Dialect 来生成 DDL hibernate cfg xml
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 如何使用 Selenium 中的索引切换到窗口

    由于selenium不提供切换到窗口 多个窗口 的方法 但我想使用index html自定义方法来切换到不同的窗口 但下面的代码没有按预期工作 请建议以下方法的最佳实施 public void switchToWindowIndex int
  • 反应式 Spring Webflux REST 控制器内部重定向

    我正在为 spring 反应项目创建简单的控制器服务器 在设置重定向到另一个位置时 我在调用时发现错误http localhost 8080 There was an unexpected error type Internal Serve
  • 使用 Box2d(适用于 Android)进行碰撞检测?

    有人可以解释一下使用 box2d for android 进行碰撞检测的工作原理吗 我无法理解 BBContactListener 以什么方式工作 BBContactListener listener new BBContactListen
  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • Java LRU 缓存使用 LinkedList

    堆栈溢出的新手 所以请不要介意我以菜鸟的方式问这个问题 我正在尝试使用链表实现 LRU 缓存 我在这里看到了使用 linkedHashMap 和其他数据结构的其他实现 但对于这种情况 我正在尝试使用链表创建最佳优化版本 正如我在技术期间被问
  • 春季MVC。方法参数字段的默认值

    我有一个带有方法测试的简单控制器 RequestMapping produces application json ResponseBody public HttpEntity
  • 如何在Java中模拟引用传递?

    我是一个十足的 Java 菜鸟 我知道 Java 将所有参数视为按值传递 并且还有其他几个线程人们对此进行了解释 例如 在 C 中我可以这样做 void makeAThree int n n 3 int main int myInt 4 m
  • Java 验证日期为 yyyyMMddHHmmss

    我想在java中验证给定的日期格式为yyyyMMddHHmmss 状况 应符合格式 yyyyMMddHHmmss 它应该验证当前日期 它应该验证与当前小时有 3 小时或 3 小时差异的小时数 如果满足所有三个条件 Java 方法应返回 tr
  • ASTParser:解析绑定后查找声明节点

    我创建了一个启用了绑定的 AST 当我稍后解析绑定时 我得到了一个有效的 ITypeBinding 但是 当我想要获取绑定的声明 Node 时 它 总是返回 null 除非 ITypeBinding 在 sourceFile 中声明 这是我
  • 构造函数参数和属性一起出现在 bean 定义中

  • 如何列出Resources文件夹中的所有文件(java/scala)

    我正在编写一个函数 需要访问资源中的文件夹 并循环遍历所有文件名 如果这些文件符合条件 则加载这些文件 new File getClass getResource images sprites getPath listFiles 返回空指针
  • 在没有EOF的情况下停止读取java中的输入

    In 问题 如何停止读取输入 我的程序继续运行 要求更多输入 public static void main String args throws Exception BufferedReader br new BufferedReader

随机推荐

  • 纯JS、CSS3实现高仿IOS消息alert弹窗(警告框,确认框,提示框)。老铁们,没毛病。

    简洁 大方的ios弹窗风格 网上有很多关于alert 弹窗的栗子可以借鉴使用 本文章主要应用在移动端上面的弹窗实现 在项目没有应用到其他框架弹窗的基础上 此实例应该可以满足大部分弹窗上的要求 可直接应用于项目之中 使用方法 1 引入依赖的样
  • 在Android中间件JNI层添加调试信息__android_log_print()

    最近做Android新项目的时候需要用到JNI 但是在该层调试程序的时候 C C 的常用的printf和cout这些传统的控制台调试输出无效 因此就需要android特有的终端调试函数 android log print 该函数的调用时需要
  • Python爬虫项目:从pip中安装库到爬取全过程

    通过python爬取目标网站https ncov dxy cn ncovh5 view pneumonia上的全球最新疫情数据和国内最新疫情数据 爬取的数据以json文件的格式保存 通过解析该json文件 将爬取的疫情数据做了两方面的处理
  • 判断闰年(函数)

    define CRT SECURE NO WARNINGS include
  • ElasticSearch High Level REST API【2】搜索查询

    如下为一段带有分页的简单搜索查询示例 在search搜索中大部分的搜索条件添加都可通过设置SearchSourceBuilder来实现 然后将SearchSourceBuilder RestHighLevelClient client El
  • 【leetcode字节跳动题库】121. Best Time to Buy and Sell Stock

    题目 题目链接 提交代码 class Solution public int maxProfit int prices if prices null prices length 0 return 0 int res 0 in prices
  • Linux中man手册的安装以及使用详解

    Linux中man手册的安装以及使用详解 linux中man手册的安装以及使用详解 man手册是什么 man手册是干嘛的 man手册如何安装 man手册如何使用 举例讲解 我们来看一下man手册的目录结构 进行具体分析 section 分析
  • 闭包的使用一些总结

    我们看一下官方对于闭包的解释 走起 闭包 closure 是一个函数以及其捆绑的周边环境状态 lexical environment 词法环境 的引用的组合 换而言之 闭包让开发者可以从内部函数访问外部函数的作用域 在 JavaScript
  • RSA加密算法Python实现

    RSA加密算法Python实现 1 RSA算法简介 2 RSA算法涉及的数学知识 2 1互素 2 2 欧拉定理 2 3求模逆元 2 4 取模运算 2 5 最大公因数 2 6 最小公倍数 2 7 欧几里得算法 2 8 扩展欧几里得算法 3 R
  • 三菱服务器显示d1d2,三菱PLC指令SMOV D2 K2 K2 D1 K3详解

    三菱PLC指令SMOV D2 K2 K2 D1 K3是什么意思 补充 若D2为16H D1为 5H时 组合后的 3位BCD码为什么为165H 为什么是Y010 Y006 Y005 Y002 Y000驱动线圈为ON 这个你看下就能理解了 SM
  • uniapp表单uni-forms校验失败后页面滚动到相应位置

    这里用到的ui框架是uni ui 如果直接使用uView校验失败页面会自动定位到相应位置 1 给uni forms item添加唯一id 我用的是form item的v model方便之后使用 2 在onReady中给form添加校验规则
  • React 基础-书写一个页面

    由于 RN 环境过于麻烦 所以这里先尝试 React 有不对的还望不吝赐教 React 安装请查看官网 渲染 JSX React 的模板语法是 JSX 看起来很像是 JS HTML 的混血儿 具体的语法这里就不再赘述 想了解的话 http
  • GBDT算法梳理

    1 GBDT Gradient Boosting Decision Tree 思想 Boosting 给定初始训练数据 由此训练出第一个基学习器 根据基学习器的表现对样本进行调整 在之前学习器做错的样本上投入更多关注 用调整后的样本 训练下
  • Pythhon消消乐小游戏

    Pythhon消消乐小游戏 一 程序代码 1 游戏介绍 2 游戏代码 二 程序打包成exe程序 1 安装pyinstaller 2 将python文件打包为exe程序 3 打包报错 一 程序代码 1 游戏介绍 开心消消乐是消除类的游戏 适合
  • openwrt --- web密码

    1 设置web密码步骤 登陆web 选择System gt Administration 在Router Password下设置web登陆密码 点击Save Apply保存 2 忘记web密码 通过串口或者SSh登陆 打开文件 vi etc
  • conda 环境导入导出 yaml

    conda中的环境可以导入和导出 导出 conda env export gt environment yaml 导入 conda env create f environment yaml 什么意思呢 就是用conda create n
  • kmalloc用法

    在读代码学习的时候发现有个malloc函数用的很奇怪 跳到定义处查看了一下原理来时一个宏定义 use volatile to fix a probable compiler error on 2 6 25 define malloc siz
  • PCL:从法线计算到曲率计算并可视化

    法线求解原理 表面法线是几何体表面的重要属性 在很多领域都有大量应用 例如 在进行光照渲染时产生符合可视习惯的效果时需要表面法线信息才能正常进行 对于一个已知的几何体表面 根据垂直于点表面的矢量 因此推断表面某一点的法线方向通常比较简单 然
  • 一键部署openvpn服务端和客户端(已写成脚本)

    openvpn 容器安装 需要有docker compse和docker docker和docker compse一键脚本 bin bash 添加DNS echo MASTER IP HOSTNAME gt gt etc hosts DNS
  • SpringCloud + xxl-job 任务调度的简单使用

    概述 xxl job是一个轻量级分布式任务调度平台 其核心设计目标是开发迅速 学习简单 轻量级 易扩展 之前开发的SpringCloud项目 因为其中有个应用有几个定时任务 为了统一管理和更可视化以及监控提醒于是加入了xxl job 好了