跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

SpringBoot 集成 Quartz 任务调度配置指南

SpringBoot 内置的 Scheduled 注解适用于简单定时任务,复杂业务场景需采用 Quartz 实现更灵活的调度策略。示例展示了如何在 SpringBoot 项目中引入 Quartz 依赖,并通过 quartz.properties 文件配置线程池、实例名及持久化数据源。配置中指定使用 JobStoreTX 结合 MySQL 数据库存储任务信息,确保任务在重启后仍可恢复。开发者需根据实际环境修改数据库连接 URL、用户名和密码等参数,并初始化 Quartz 所需的数据库表结构。

PhpPioneer发布于 2025/2/5更新于 2026/9/463 浏览
SpringBoot 集成 Quartz 任务调度配置指南

前言

SpringBoot 内置的 Scheduled 注解支持简单的定时任务调度。当业务逻辑变得复杂时,需要更灵活的任务调度策略,此时推荐使用 Quartz。

依赖配置

Gradle 构建脚本中添加以下依赖:

compile group: 'org.quartz-scheduler', name: 'quartz', version: '2.2.1'

配置文件

在 SpringBoot 项目的 resources 目录下创建 quartz.properties 文件(与主配置文件同级),内容如下:

# 固定前缀 org.quartz
# 主要分为 scheduler、threadPool、jobStore、plugin 等部分
#
# 实例名
org.quartz.scheduler.instanceName=TioadScheduler
# 实例 id(唯一,有缺省值)
org.quartz.scheduler.instanceId=TioadSchedulerId
org.quartz.scheduler.rmi.export=false
org.quartz.scheduler.rmi.proxy=false
org.quartz.scheduler.wrapJobExecutionInUserTransaction=false
# 实例化 ThreadPool 时,使用的线程类为 SimpleThreadPool
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
# threadCount 和 threadPriority 将以 setter 的形式注入 ThreadPool 实例
# 并发个数
org.quartz.threadPool.threadCount=5
# 优先级
org.quartz.threadPool.threadPriority=5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
org.quartz.jobStore.misfireThreshold=5000
# 默认存储在内存中
#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
#持久化
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.dataSource=qzDS
org.quartz.dataSource.qzDS.driver=com.mysql.jdbc.Driver
#dev(第一次初始化 quartz,需要执行 quartz 包下的 sql,创建表结构)
org.quartz.dataSource.qzDS.URL=持久化的数据库 url 配置
org.quartz.dataSource.qzDS.user=持久化的数据库连接用户账号配置
org.quartz.dataSource.qzDS.password=持久化的数据库连接用户密码配置
org.quartz.dataSource

目录

  1. 前言
  2. 依赖配置
  3. 配置文件
  4. 固定前缀 org.quartz
  5. 主要分为 scheduler、threadPool、jobStore、plugin 等部分
  6. 实例名
  7. 实例 id(唯一,有缺省值)
  8. 实例化 ThreadPool 时,使用的线程类为 SimpleThreadPool
  9. threadCount 和 threadPriority 将以 setter 的形式注入 ThreadPool 实例
  10. 并发个数
  11. 优先级
  12. 默认存储在内存中

更多推荐文章

查看全部
  • Strudel Web 音频算法创作快速上手
  • 非科班转行Python需谨慎,先思考这三件事
  • Figma + Claude + Weavy AI:构建高效设计工作流
  • C++ 哈希表链地址法(哈希桶)实现
  • 现代C++异步编程与序列化:yalantinglibs 库解析
  • 掌握 AI 提示词技巧,提升大模型回答质量
  • IndexTTS2 WebUI 接口分析与 Python 自动化调用实践
  • GESP C++一级认证考点解析与备考策略
  • 即梦 AI 基础操作入门教程
  • 32 岁,八年程序员的互联网中年危机与转型思考
  • ASP.NET Core 主机模型详解:Host、WebHost 与 WebApplication 的对比与实践
  • C++ 仿函数详解:对象像函数一样调用
  • VsCode 远程连接服务器后 GitHub Copilot 无法使用修复方案
  • Mac安装EasyConnect卡在正在验证软件包的解决方案
  • 国产 AI 智能体平台对比:腾讯、字节、阿里、百度等主流方案汇总
  • Linux 网络基础:局域网通信与跨网段传输
  • STM32 非阻塞多任务调度方案,无需 RTOS
  • OpenSpec 完全使用指南:约束驱动 AI 编码
  • C++ 红黑树原理与实现详解
  • C++ 事件总线(EventBus)实现嵌入式系统解耦

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online