1. pom文件添加依赖

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-quartz

mysql

mysql-connector-java

runtime

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.1

com.mchange

c3p0

0.9.5.2

com.alibaba

druid-spring-boot-starter

1.1.10

2. yml配置

spring:

datasource:

url: jdbc:mysql://localhost:3306/aipyun?serverTimezone=GMT&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true

username: root

password: root123

driver-class-name: com.mysql.jdbc.Driver

type: com.alibaba.druid.pool.DruidDataSource

druid:

initialSize: 2

minIdle: 2

maxActive: 30

#StatViewServlet:

#loginUsername: admin

#loginPassword: admin

quartz:

#相关属性配置

properties:

org:

quartz:

scheduler:

instanceName: DefaultQuartzScheduler

instanceId: AUTO

jobStore:

class: org.quartz.impl.jdbcjobstore.JobStoreTX

driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate

tablePrefix: QRTZ_

isClustered: false

clusterCheckinInterval: 10000

useProperties: true

threadPool:

class: org.quartz.simpl.SimpleThreadPool

threadCount: 10

threadPriority: 5

threadsInheritContextClassLoaderOfInitializingThread: true

dataSource:

default:

URL: jdbc:mysql://localhost:3306/aipyun?characterEncoding=utf-8

user: root

password: root123

driver: com.mysql.jdbc.Driver

#数据库方式

job-store-type: jdbc

#初始化表结构

#jdbc:

#initialize-schema: never

我们可以对比下这个配置文件和之前的quartz.properties的区别,基本一模一样,只不过写的格式不一样而已。

3. 业务逻辑代码

/*** 删除job

*

*@paramtriggerName 触发器名称

*@paramtriggerGroup 触发器分组

*@paramjobName 任务名称

*@paramjobGroup 任务分组

*@throwsSchedulerException*/

public void deleteJob(String triggerName, String triggerGroup, String jobName, String jobGroup) throwsSchedulerException {

TriggerKey triggerKey=TriggerKey.triggerKey(triggerName, triggerGroup);

scheduler.pauseTrigger(triggerKey);

scheduler.unscheduleJob(triggerKey);

JobKey jobKey=JobKey.jobKey(jobName, jobGroup);

scheduler.deleteJob(jobKey);

}/*** 修改定时任务

*

*@paramoldTriggerKey 需要修改的TriggerKey 也就是唯一标识

*@paramcron 新的cron表达式*/

public voidupdateJob(TriggerKey oldTriggerKey, String cron) {

CronScheduleBuilder scheduleBuilder=CronScheduleBuilder.cronSchedule(cron);

CronTrigger cronTrigger=TriggerBuilder.newTrigger()

.withIdentity(oldTriggerKey).withSchedule(scheduleBuilder).build();try{

scheduler.rescheduleJob(oldTriggerKey, cronTrigger);

}catch(SchedulerException e) {

e.printStackTrace();

}

}/*** 新增job任务

*

*@paramjobName job名称

*@paramjobGroupName job分组名称

*@paramtriggerName 触发器名称

*@paramtriggerGroupName 触发器分组名称

*@paramjobClass 需要执行的job.class

*@paramcron cron 表达式

*@throwsSchedulerException*/

public voidaddJob(String jobName, String jobGroupName,

String triggerName, String triggerGroupName, Class jobClass, String cron)throwsSchedulerException {

CronScheduleBuilder cronScheduleBuilder=CronScheduleBuilder.cronSchedule(cron);

JobDetail jobDetail=JobBuilder.newJob(jobClass).withIdentity(jobName, jobGroupName).build();

Trigger trigger=TriggerBuilder.newTrigger().withIdentity(triggerName, triggerGroupName)

.withSchedule(cronScheduleBuilder).build();

scheduler.scheduleJob(jobDetail, trigger);

}

关于spring-boot-starter-quartz

鄙人用的开发工具是idea,可以直接查看源码,至于用eclispe的怎么查看源码我就不知道了。

我们找到Idea的External Libraries并且展开spring-boot-autoconfigure-2.0.0.RELEASE.jar,找到org.springframework.boot.autoconfigure.quartz,该目录就是SpringBoot为我们提供的Quartz自动化配置源码实现,在该目录下有如下所示几个类:

QuartzAutoConfiguration该类是自动配置的主类,内部配置了SchedulerFactoryBean,相当于我们之前自己配的SchedulerFactoryBean类。

JobStoreType是一个枚举:表示quartz的存储方式:RAM 或者JDBC。

QuartzProperties配置类:从yml或者properties中读取配置信息。

quartz 2.0持久化到mysql_SpringBoot2.0整合Quartz定时任务(持久化到数据库,更为简单的方式)...相关推荐

  1. 项目ITP(五) spring4.0 整合 Quartz 实现任务调度

    2014-05-16 22:51 by Jeff Li 前言 系列文章:[传送门] 项目需求: 二维码推送到一体机上,给学生签到扫描用. 然后须要的是 上课前20分钟 .幸好在帮带我的学长做 p2p ...

  2. Spring整合Quartz实现持久化、动态设定时间

    一.spring整合 网上一搜有很多整合的方式,这里我采用了其中的一种(暂时还没有对其他的方法研究过). 对于spring的整合其中的任务,spring提供了几个类.接口(这些类都实现了Job接口): ...

  3. SpringBoot整合Quartz执行持久化定时任务

    使用: 个人博客项目,定时刷新帖子排名用到了定时任务,在这里记录下来SpringBoot整合Quartz的基本使用,记录的同时也希望能帮助到大家. 1.什么是Quartz 官方介绍: Quartz是一 ...

  4. springboot2整合Quartz持久化定时任务管理界面

    此案例在天降风云博主的基础上进行了补充 Quartz提供两种基本作业存储类型.第一种类型叫做RAMJobStore,第二种类型叫做JDBC作业存储.在默认情况下Quartz将任务调度的运行信息保存在内 ...

  5. 简单的通过DockerFile 构建自己的nacos镜像 并持久化到 MySQL8.0

    目录 一. 准备内容: 1.  Docker.这里暂时使用 Windows 版来演示 2.  获取nacos的docker 镜像源码(构建镜像要用到) 3.  下载nacos的项目的压缩包(若不指定版 ...

  6. cxf 配置文件服务器端,cxf3.0.x与spring3.2整合

    ? ? 进来接到webservice相关项目,本人一直从事后台底层开发,初接项目一头雾水,网上搜索之后发现大部分cxf与spring整合都是2.X的老版 本,与我本人需求出入不小,后经我与同事共同研究 ...

  7. 金蝶K3 15.0 K/3 V15.0第13个整合补丁PT153081(2020年12月,整合55个补丁)PT151645 PT150588 PT149587 PT148471 PT146240

    金蝶K3 15.0 K/3 V15.0第13个整合补丁PT153081(2020年12月,整合55个补丁) 历史发放的整合补丁如下: 第1个整合补丁 PT137552 第2个整合补丁 PT138993 ...

  8. SSM项目整合Quartz

    一.背景 SSM项目中要用到定时器,初期使用Timer,后来用spring 的schedule,都比较简单,所以功能比较单一而且他们不能动态的配置时间.后来就研究quartz,准备整合到项目中.Qua ...

  9. Spring整合Quartz集群部署

    Spring整合Quartz集群部署 Quartz的分布式模式 数据表创建 quartz.properties spring-job.xml Quartz的分布式模式 集群中的每个节点都是一个独立的Q ...

最新文章

  1. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块
  2. 简书的css排版,css格式化排版
  3. 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾
  4. Android APK 签名文件MANIFEST.MF、CERT.SF、CERT.RSA分析
  5. python强类型_python动态性强类型用法实例
  6. angularJS中,怎么阻止事件冒泡
  7. vue项目:this.function()中关于:this指针失效的问题
  8. 【转自小峰博客】协调器的启动【自动模式】
  9. Quest v31 Passthrough API无法透视的问题解决办法
  10. 20155307 《Java程序设计》课堂实践项目数据库
  11. linux入门生信,优秀学员的学习方法展示
  12. 泰勒公式和海森矩阵(Hessian-matrix)
  13. [ARM-assembly]-ARMV8-A64指令编码介绍
  14. Server、Service和Servlet的区分
  15. 摩根大通从AWS和Azure挖人,云计算人才大战开始
  16. [No0000134]C#中的委托,匿名方法和Lambda表达式
  17. 手把手教你写一个点菜系统(附源码)
  18. 武器瞄准镜 - MOD和相关程序讲解
  19. 2022年中国智能家居产业链图谱 | 产业链全景图
  20. Java基础 -> 从键盘获取不同的输入类型(String,int,double,boolean)(Scanner)

热门文章

  1. 【回文串7】LeetCode 234. Palindrome Linked List
  2. 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面
  3. webpack资源的输入与输出
  4. Cache之组相连映射
  5. Tensorflow 实战 Google 深度学习框架(第2版)---- 10.2.2节 P274 代码
  6. SharePoint 取消分享时的默认发邮件
  7. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---05
  8. vim 图解常用快捷键操作
  9. 记录一下:new的几种用法
  10. 姑苏行(一) 虎丘山