关键词:
quartz
概述
- 特点
- 强大的调度功能
- 灵活的应用方式
- 分布式和集群能力
- 用到的设计模式
- Builder 模式
- factory模式
- 组件模式
- 链式写法
- 体系结构
- 调度器
- 任务
- 触发器
- 调度器
- 架构图
-
spring boot quartz
-
- pom配置
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
- 编写job类
package com.ltf.shop.quartzdemo;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class HelloJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("hello word quartz");
}
}
- 编写quartz定义类
package com.ltf.shop.quartzconfig;
import com.ltf.shop.quartzdemo.HelloJob;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.CronTriggerFactoryBean;
import org.springframework.scheduling.quartz.JobDetailFactoryBean;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
@Configuration
public class QuartzConfig {
/**
* 创建Job对象
*/
@Bean
public JobDetailFactoryBean jobDetailFactoryBean()
{
JobDetailFactoryBean factory=new JobDetailFactoryBean();
factory.setJobClass(HelloJob.class);
return factory;
}
/**
* 创建Job对象
*/
// @Bean
// public SimpleTriggerFactoryBean simpleTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean)
// {
// SimpleTriggerFactoryBean simpleTriggerFactoryBean=new SimpleTriggerFactoryBean();
// //关联JobDetail对象
// simpleTriggerFactoryBean.setJobDetail(jobDetailFactoryBean.getObject());
// //设置执行的毫秒数
// simpleTriggerFactoryBean.setRepeatInterval(3000);
// simpleTriggerFactoryBean.setRepeatCount(15);
// return simpleTriggerFactoryBean;
// }
// /**
// * 创建scheduler对象
// */
// @Bean
// public SchedulerFactoryBean schedulerFactoryBean(SimpleTriggerFactoryBean simpleTriggerFactoryBean)
// {
// SchedulerFactoryBean schedulerFactoryBean=new SchedulerFactoryBean();
// schedulerFactoryBean.setTriggers(simpleTriggerFactoryBean.getObject());
// return schedulerFactoryBean;
// }
@Bean
public CronTriggerFactoryBean cronTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean)
{
CronTriggerFactoryBean cronTriggerFactoryBean=new CronTriggerFactoryBean();
cronTriggerFactoryBean.setJobDetail(jobDetailFactoryBean.getObject());
cronTriggerFactoryBean.setCronExpression("0/2 * * * * ?");
return cronTriggerFactoryBean;
}
@Bean
public SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean cronTriggerFactoryBean)
{
SchedulerFactoryBean schedulerFactoryBean=new SchedulerFactoryBean();
schedulerFactoryBean.setTriggers(cronTriggerFactoryBean.getObject());
return schedulerFactoryBean;
}
}
springboot定时任务-什么是elasticjob?如何集成elasticjob实现分布式任务调度?
...ticJob成为ApacheShardingSphere的子项目;本文介绍ElasticJob以及SpringBoot的集成。@pdai知识准备需要对分布式任务的知识体系和Elastic 查看详情
springboot结合xxl-job实现定时任务(代码片段)
...文章工具比MyBatisGenerator更强大的代码生成器ORM框架选型SpringBoot项目基础设施搭建SpringBoot集成Mybatis项目实操SpringBoot集成MybatisPlus项目实操SpringBoot集成SpringDataJPA项目实操数据库变更管理数据库变更管理:LiquibaseorFlywaySpringBoot... 查看详情
springboot入门:集成quartz定时任务
本片文章续《SpringBoot入门(八):集成RabbitMQ消息队列》,关于Quartz定时任务请参考《Quartz的基本使用之入门(2.3.0版本)》springboot实现定时任务,除了集成Quartz外,还可以直接使用scheduler注解。使用1个简单的注解就可以完成... 查看详情
springboot任务调度
参考技术ASpringBoot提供了任务调度功能,可以指定启动服务器立刻执行某些任务逻辑,或指定时间调用某些任务逻辑。SpringBoot提供了ApplicationRunner和CommandLineRunner接口,实现任何一个即可。1.ApplicationRunner2.CommandLineRunner总结:多个... 查看详情
springboot整合quartz实现动态的创建或删除定时任务并将定时调度任务持久化到mysql以及quartz集群配置(代码片段)
1.创建quartz数据库并导入quartz的SQL脚本文件quartz源码下载地址:http://www.quartz-scheduler.org/downloads/下载完成后解压,在/src/org/quartz/impl/jdbcjobstore可以找到对应数据库的SQL脚本我这里使用的是MySQL数据库,SQL脚本如下:... 查看详情
springboot整合quartz实现动态的创建或删除定时任务并将定时调度任务持久化到mysql以及quartz集群配置(代码片段)
1.创建quartz数据库并导入quartz的SQL脚本文件quartz源码下载地址:http://www.quartz-scheduler.org/downloads/下载完成后解压,在/src/org/quartz/impl/jdbcjobstore可以找到对应数据库的SQL脚本我这里使用的是MySQL数据库,SQL脚本如下:... 查看详情
springboot技术专题「开发实战系列」动态化quartz任务调度机制+实时推送任务数据到前端(代码片段)
前提介绍SpringBoot2.0整合quartz实现多定时任务动态配置,实现任务增删改,生成Cron表达式动态化任务调度添加依赖包<!--quartz--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boo 查看详情
springboot整合quartz
参考技术A写在前面:本项目环境springboot+springdatajpaQuartz核心概念:Job表示一个工作,要执行的具体内容。此接口中只有一个方法,如下:voidexecute(JobExecutionContextcontext)JobDetail表示一个具体的可执行的调度程序,Job是这个可执行... 查看详情
springboot整合quartz实现动态的创建或删除定时任务并将定时调度任务持久化到mysql以及quartz集群配置(代码片段)
1.创建quartz数据库并导入quartz的SQL脚本文件quartz源码下载地址:http://www.quartz-scheduler.org/downloads/下载完成后解压,在/src/org/quartz/impl/jdbcjobstore可以找到对应数据库的SQL脚本我这里使用的是MySQL数据库,SQL脚本如下:... 查看详情
springboot集成quartz动态定时任务
SpringBoot自带schedule沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务注意在程序启动的时候加上@EnableScheduling@Scheduled(cron="0/5****?")publicvoidjob()System.out.println("每五秒执行一次");为什么要... 查看详情
springboot集成quartz集群(代码片段)
为什么要使用Quzrtz集群 在项目进行集群部署时,如果业务在执行中存在互斥关系,没有对定时任务进行统一管理,就会引起业务的多次执行,不能满足业务要求。这时就需要对任务进行管理,要保证一笔业务在所有的集群环... 查看详情
分布式定时任务调度框架-quartz学习及实战记录笔记
...系3.Trigger触发器的介绍4.Quartz配置资源介绍5.Quartz监听器6.SpringBoot整合Quartz实现动态的创建或删除定时任务并将定时调度任务持久化到MySQL以及Quartz集群配置7.分布式定时任务调度框架学习与实战记录完整篇 查看详情
分布式定时任务调度框架-quartz学习及实战记录笔记
...系3.Trigger触发器的介绍4.Quartz配置资源介绍5.Quartz监听器6.SpringBoot整合Quartz实现动态的创建或删除定时任务并将定时调度任务持久化到MySQL以及Quartz集群配置7.分布式定时任务调度框架学习与实战记录完整篇 查看详情
springboot应用系列6--springboot2整合quartz
...bsp;Scheduler(调度器):负责Job的执行。有两种方式可以实现SpringBoot与Quartz的整合:一、使用Spring 查看详情
springboot集成quartz动态定时任务
SpringBoot自带schedule沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务注意在程序启动的时候加上@EnableScheduling@Scheduled(cron="0/5****?")publicvoidjob()System.out.println("每五秒执行一次");为什么要... 查看详情
springboot整合quartz
1、创建 一、SpringBoot整合Quartz引入SpringBoot的基础依赖 1、引入依赖 2、编写简单任务类 3、创建任务调度类 4、创建任务调度方法 5、编写触发方式 fixedDe... 查看详情
springboot集成quartz开始正常执行,一段时间后任务不执行
参考技术APS:最近项目需要定时进行数据汇总,引入了Quartz之后发现,开始的时候任务可以执行,一段时间后后台看不到报错,但是任务却不执行。 查看详情
spring中使用quartz实现任务调度
前言:Spring中使用Quartz有两种方式,一种是继承特定的基类:org.springframework.scheduling.quartz.QuartzJobBean,另一种则不需要,(推荐使用第二种)。下面分别介绍。1、作业类继承 org.springframework.scheduling.quartz.QuartzJobBean第一... 查看详情