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

SpringBoot:整合quartz实现定时任务-集群化配置

文章目录

  • 一、为什么需要Quartz集群
  • 二、代码实现

一、为什么需要Quartz集群

1、防止单点故障,减少对业务的影响
2、通过负载均衡,减少对节点的压力

3、注意事项
Quartz集群必须将配置持久化到数据库。
Quartz使用的是随机的负载均衡算法,不能指定节点执行。
注意Quartz集群各个节点的时间必须保持同步。

二、代码实现

1、工程结构
在这里插入图片描述
2、父节点pom配置

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency><!-- pagehelper 分页插件,包含了mybatis --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.7</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.8</version></dependency><!-- Mysql驱动包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>

3、8081节点yml配置
8082配置一样,只是端口号是8082

# 数据库
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/quartz?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: rootpassword: 123456quartz:job-store-type: jdbcjdbc:initialize-schema: alwaysproperties:     # quartz集群配置org:quartz:jobStore:isClustered: trueclass: org.springframework.scheduling.quartz.LocalDataSourceJobStoredriverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegatemisfireThreshold: 120000threadPool:threadCount: 20scheduler:instanceName: test-clusterinstanceId: AUTO
mybatis:type-aliases-package: com.pzj.quartz.entitymapper-locations: classpath*:mapper/**/*Mapper.xmlserver:port: 8081

4、编写任务代码
通过@Bean注解创建JobDetail,Trigger
代码内容,可以参考前面的基础篇

SpringBoot:整合quartz实现定时任务-基础篇

在这里插入图片描述

http://www.xdnf.cn/news/14848.html

相关文章:

  • 温湿度变送器与电脑进行485通讯连接并显示在触摸屏中(mcgs)
  • Visual Studio 2022 MFC Dialog 添加Toolbar及Tips提示
  • 【算法刷题记录(简单题)002】字符串字符匹配(java代码实现)
  • 补充:问题:CORS ,前后端访问跨域问题
  • Java Go SDK 管理工具与最佳实践
  • 《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
  • PageRank:互联网的马尔可夫链平衡态
  • CSS 文字浮雕效果:巧用 text-shadow 实现 3D 立体文字
  • 【内存】Linux 内核优化实战 - net.ipv4.tcp_tw_reuse
  • springBoot接口层时间参数JSON序列化问题,兼容处理
  • STM32F103RCTx的PWM输出控制电机
  • Matplotlib 安装部署与版本兼容问题解决方案(pyCharm)
  • 共射级放大电路的频率响应Multisim电路仿真——硬件工程师笔记
  • C++11 forward_list 从基础到精通:原理、实践与性能优化
  • 利用 AI 打造的开发者工具集合
  • 高档宠物食品对宠物的健康益处有哪些?
  • Python-GUI-wxPython-布局
  • python打卡day59@浙大疏锦行
  • 应急响应靶场——web3 ——知攻善防实验室
  • docker运行的一些常用命令
  • 使用alist+RaiDrive+webdav将百度夸克网盘变为本地电脑磁盘方法教程
  • 基于led框架及gpiolib管理的驱动编写
  • git教程-pycharm使用tag打标签
  • Mint密室 · 猫猫狐狐的“特征选择”囚室逃脱
  • Adobe Illustrator设置的颜色和显示的颜色不对应问题
  • 同步(Synchronization)和互斥(Mutual Exclusion)关系
  • OLAP 是什么?一文讲清 OLAP 和 OLTP 的区别
  • 类图+案例+代码详解:软件设计模式----单例模式
  • 分布式光伏监控系统防孤岛保护装置光功率预测
  • 如何选择合适的工业相机快门种类