Skip to content

Spring Boot 2.x整合Quartz

Exrick edited this page Aug 12, 2018 · 5 revisions

Spring Boot 2.x整合Quartz

  • 官方文档
  • 导入依赖
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-quartz</artifactId>
    </dependency>
  • 由于定时任务的信息默认保存在内存,当应用重启后,定时任务信息将会丢失。因此可以使用数据库存储定时任务信息,当系统重启后仍保留定时任务信息,继续执行之前设置的定时任务。Spring中配置如下:
    spring:
        quartz:
            # 任务信息存储至数据库
            job-store-type: jdbc
  • 初始化quartz数据库表,xboot.sql中已包含,其他数据库可以到官网下载,Spring Booot 2.x已集成最新v2.3版本,下载解压后路径在 quartz-2.2.3-distribution\quartz-2.2.3\docs\dbTables
  • 其他相关配置
    spring:
        quartz:
            #相关属性配置
            properties:
            org:
                quartz:
                scheduler:
                    instanceName: clusteredScheduler
                    instanceId: AUTO
                jobStore:
                    class: org.quartz.impl.jdbcjobstore.JobStoreTX
                    driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
                    tablePrefix: QRTZ_
                    isClustered: true
                    clusterCheckinInterval: 10000
                    useProperties: false
                threadPool:
                    class: org.quartz.simpl.SimpleThreadPool
                    threadCount: 10
                    threadPriority: 5
                    threadsInheritContextClassLoaderOfInitializingThread: true