一、为什么持久化
显然,实际应用中,项目是要经常更新重启的。
所以,配置信息存入MySQL,这样,就不用每次create一遍。
一般,我们采用quartz自带的JDBCJobStore
来实现。
二、如何实现JDBCJobStore
1、pom配置
<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>
<!-- pagehelper 分页插件,包含了mybatis -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2、创建数据库及表
先在IDEA中,找到quartz的jar包,从下图路径中,找到sql文件,创建对应数据库及表即可。
3、yml配置
其中, initialize-schema
第一次配置aways
,然后,改成never
。
三、测试
每次启动项目的时候,我们无需再重新create依次job任务。
并且每次执行,都是依赖上一次的数据状态。