介绍

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 不进行初始化

这样就完成了数据的持久化,重新启动了项目也不会丢失。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐