Quartz 数据持久化 接入MySQL数据库 数据不丢失 数据入库
介绍
Quartz 可以将任务的配置、调度信息(如任务的触发器、作业等)持久化到数据库中。这样,即使应用程序重启,或者系统崩溃,也能恢复之前的调度任务。任务的调度信息不会丢失,确保任务的持续执行。
官方文档:https://github.com/quartz-scheduler/quartz
数据库持久化
根据版本下载对应的版本
路径:quartz-2.4.0\quartz\src\main\resources\org\quartz\impl\jdbcjobstore\tables_mysql_innodb.sql
将该脚本导入到数据库
SQL文件下载:https://github.com/quartz-scheduler/quartz/releases
依赖
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
配置文件
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/java-test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
quartz:
job-store-type: jdbc #数据库存储数据
jdbc:
initialize-schema: never
#always:每次清空数据库初始化
#embedded:每次清空内存(默认)
#never 不进行初始化
这样就完成了数据的持久化,重新启动了项目也不会丢失。