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的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot集成Spring Scheduler和Quartz Scheduler
SpringBoot系列:Spring Boot集成定时任务Quartz