spring boot集成quartz scheduler

Posted 我的战友许三多

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot集成quartz scheduler相关的知识,希望对你有一定的参考价值。

工具、版本

开发工具:IntelliJ IDEA
JDK:1.8
spring-boot:2.5.6(事例使用,可根据自己版本调整)
maven:3.6.3

依赖jar

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!--web-->
        <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>
        <!--mysql连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <!--日志-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

项目结构

源码信息、配置

注册工厂:

@Configuration
public class ScheduleConfig 


    private SchedulerFactoryBean schedulerFactoryBean;

    public ScheduleConfig(SchedulerFactoryBean schedulerFactoryBean) 
        this.schedulerFactoryBean = schedulerFactoryBean;
    

    @Bean
    public Scheduler scheduler() 
        return schedulerFactoryBean.getScheduler();
    


Trigger: 以cron时间格式构建触发器。



最终项目封装构建:

JobDetail :实现job接口类。

构建JobDetail:

业务实现job:

配置:

spring.quartz.job-store-type=jdbc
spring.quartz.scheduler-name=quartz_scheduler_integrate
spring.quartz.jdbc.initialize-schema=always

必须指定DataSource。
指定数据库存储、并初始化数据表结构。

测试

注意事项

1.数据库持久必须指定数据源。
2.job不能出现同分组同名称。
3.Trigger不能出现同分组同名称。

项目源码地址

https://gitee.com/sunyiweigitee/quartz_scheduler_integrate.git

以上是关于spring boot集成quartz scheduler的主要内容,如果未能解决你的问题,请参考以下文章

Quartz与Spring Boot集成使用

Spring Boot集成Spring Scheduler和Quartz Scheduler

spring boot集成quartz scheduler

SpringBoot系列:Spring Boot集成定时任务Quartz

SpringBoot系列:Spring Boot集成定时任务Quartz

Spring Boot集成持久化Quartz定时任务管理和界面展示