Spring boot quartz的配置

本文详细介绍了如何在SpringBoot应用中配置Quartz以实现集群环境下的持久化作业调度。配置包括设置调度器实例名、启动延迟、作业存储、数据库表前缀、线程池参数等,并启用集群功能,确保在多实例部署时的协调工作。同时,配置了文件上传的相关限制,以优化服务性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring boot 中quartz的配置,这里启用的是持久化的方案,会在数据库中建quartz的表,方便集群部署

spring:
  servlet:
    multipart:
      # 文件最大限制
      max-file-size: 50MB
      # 请求最大限制
      max-request-size: 50MB
      enabled: true
      # 设置文件缓存的临界点,超过则先保存到临时目录,默认为0,所有文件都会进行缓存
      file-size-threshold: 0
  quartz:  # quartz相关属性配置
    properties:
      org:
        quartz:
          scheduler:
            instanceName: clusteredScheduler
            instanceId: AUTO
          startup-delay: 90s  #90秒后延迟启动 这个很重要,必须要有足够长的时间让你的应用先启动完成后再让 Scheduler启动,
          jobStore:
            class: org.quartz.impl.jdbcjobstore.JobStoreTX #持久化配置
            driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate #我们仅为数据库制作了特定于数据库的代理
            tablePrefix: QRTZ_ #数据库表前缀
            useProperties: false #以指示JDBCJobStore将JobDataMaps中的所有值都作为字符串,因此可以作为名称 - 值对存储而不是在BLOB列中以其序列化形式存储更多复杂的对象。从长远来看,这是更安全的,因为您避免了将非String类序列化为BLOB的类版本问题。
            misfireThreshold: 60000 #在被认为“失火”之前,调度程序将“容忍”一个Triggers将其下一个启动时间通过的毫秒数。默认值(如果您在配置中未输入此属性)为60000(60秒)。
            clusterCheckinInterval: 5000 #设置此实例“检入”*与群集的其他实例的频率(以毫秒为单位)。影响检测失败实例的速度。
            isClustered: true #打开群集功能
          threadPool:
            class: org.quartz.simpl.SimpleThreadPool
            threadCount: 10
            threadPriority: 5
            threadsInheritContextClassLoaderOfInitializingThread: true
    #数据库方式
    job-store-type: jdbc
    auto-startup: false  #定时任务启动开关,true-开  false-关
    #初始化表结构
    #jdbc:
    #initialize-schema: never

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值