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

Guess you like

Origin blog.csdn.net/qq_37588808/article/details/121575990