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;
}
}

最新文章

  1. 基于 HTML5 的 Web SCADA 报表
  2. 20. Valid Parentheses
  3. ACM/ICPC 之 数论-费马大定理(HNUOJ 13371)
  4. xscript脚本
  5. IO 流 定义
  6. URAL(timus) 1272 Non-Yekaterinburg Subway(最小生成树)
  7. iptable原理
  8. python 调用mysql存储过程返回结果集
  9. JZ2440开发笔记(8)——FCLK、HCLK和PCLK
  10. 实现方法 C# button快捷键
  11. hdu 4869 Task(馋)
  12. Android SQLite 加密模块实现入门
  13. java继承与覆写小练习
  14. 排序算法入门之希尔排序(java实现)
  15. Centos 6.9 安装xtrabackup-2.4.8 通用包,yum安装,全量备份,增量备份
  16. HttpClient 302重定向
  17. mssql sqlserver 下文分享一种新颖的字符串截取方法
  18. dubbo负载均衡策略和集群容错策略都有哪些
  19. Decision Trees:机器学习根据大量数据,已知年龄、收入、是否上海人、私家车价格的人,预测Ta是否有真实购买上海黄浦区楼房的能力—Jason niu
  20. CSS 小技巧

热门文章

  1. MFC_对话框_访问控件_7种方法_A
  2. WebGPU学习(十):介绍“GPU实现粒子效果”
  3. python内置模块(python标准库)
  4. 【E20200101-1】Centos 7.x 关闭防火墙(firewall)和SELinux
  5. flask迁移数据库时报错:Target database is not up的解决方案
  6. 浅谈 OpenGL 中相关阻塞问题
  7. git简单使用指南
  8. 性能数据的准备-Jmeter
  9. 微信公众号 唤醒手机导航APP 一看就懂 复制即用
  10. 天梯 L2 紧急救援 (dijkstra变形+记录路径)