04.Quartz 触发器
Quartz 触发器分为两种SimpleTrigger 和 CronTrigger, SimplerTrigger 适用于以固定时间间隔执行重复N次或延时执行一次的定时任务, CronTrigger 适用于按照日历规则来执行定时任务, 如每月最后一天触发一次, 每周一触发一次等.
1. 核心API
quartz 提供了一组API, 用于快捷地创建SimpleTrigger或CronTrigger:
- TriggerBuilder: 用于构建触发器, 可以设置公有属性:触发器名称, 描述信息, 开始调度时间, 结束时间等
- DateBuilder: 时间工具类, 可便捷设置触发器开始调度时间和结束调度时间.
- SimpleScheduleBuilder: 用于构建simple触发器, 需要设置重复间隔, 重复次数
- CronScheduleBuilder: 用于构建cron触发器, 需要设置cron 表达式
2. 触发器创建实例
2.1 创建SimpleTrigger
SimpleTrigger 创建时, 需指定定时任务间隔和重复次数.
Trigger trigger1 = TriggerBuilder.newTrigger().withIdentity("trigger1", "simpTrigger").withDescription("每隔3秒触发一次, 共触发10次, 立刻执行").withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(3000).withRepeatCount(10)).startNow().build();Trigger trigger2 = TriggerBuilder.newTrigger().withIdentity("trigger2", "simpTrigger").withDescription("5分钟后开始, 每隔一小时执行一次, 明天零点结束").withSchedule(SimpleScheduleBuilder.simpleSchedule().withRepeatCount(1000 * 60 * 24).repeatForever()).startAt(DateBuilder.futureDate(5, DateBuilder.IntervalUnit.MINUTE)).endAt(DateBuilder.tomorrowAt(0, 0 , 0)).build();
2.2 创建CronTrigger
CronTrigger 创建比较简单, 只需要设置cron表达式即可.
Trigger trigger1 = TriggerBuilder.newTrigger().withIdentity("trigger1", "cronTrigger").withDescription("每隔3秒触发一次, 立刻执行").withSchedule(CronScheduleBuilder.cronSchedule("*/3 * * * * ?")).startNow().build();
04.Quartz 触发器相关推荐
- 使用Spring3+Quartz实现定时任务
在本文中,我们使用Spring3+Quartz实现定时任务.spring中定义了一些接口来支持Quartz,可以使你的业务逻辑类和Quartz解耦. 这个例子中使用了如下maven的依赖项: < ...
- Quartz 2.x 任务调度使用(CronTrigger)
为什么80%的码农都做不了架构师?>>> Quartz 框架是一个全功能.开源的任务调度服务,可以集成几乎任何的 Java 应用程序-从小的单片机系统到大型的电子商务系统.Quart ...
- Structured Streaming编程 Programming Guide
Structured Streaming编程 Programming Guide • Overview • Quick Example • Programming Model o Basic Conc ...
- Apache Spark 3.0 结构化Streaming流编程指南
目录 总览 快速范例 Scala语言 Java语言 Python语言 R语言 程式设计模型 基本概念 处理事件时间和延迟数据 容错语义 使用数据集和数据帧的API 创建流数据框架和流数据集 流数据帧/ ...
- Apache Spark【从无到有从有到无】【编程指南】【AS5】结构化流编程指南
目录 1.概观 2.快速示例 3.编程模型 3.1.基本概念 3.2.处理事件时间和延迟数据 3.3.容错语义 4.使用数据集和数据框架的API 4.1.创建streaming DataFrames ...
- Apache Spark基础知识
我的spark学习笔记,基于Spark 2.4.0 目录 一.简介 二.RDD编程 1 RDD介绍 2 RDD操作 2.0 读操作 2.1 常用Tramsformation算子 2.2 常用Actio ...
- (转)Java任务调度框架Quartz入门教程指南(四)Quartz任务调度框架之触发器精讲SimpleTrigger和CronTrigger、最详细的Cron表达式范例...
http://blog.csdn.net/zixiao217/article/details/53075009 Quartz的主要接口类是Schedule.Job.Trigger,而触发器Trigge ...
- [19/04/12-星期五] 多线程_任务定时调度(Timer、Timetask和QUARTZ)
一.Timer和Timetask 通过Timer和Timetask,我们可以实现定时启动某个线程. java.util.Timer 在这种实现方式中,Timer类作用是类似闹钟的功能,也就是定时或者每 ...
- spring Quartz 源码分析--触发器类CronTriggerBean源码剖析
前面我们讲到了Quartz框架在项目中的实现,在Quartz中的重要API有两个重要的触发器类:CronTrigger 和SimpleTrigger 在Quartz框架中这两个触发器都继承了一个抽象基 ...
最新文章
- 存储的学习:freenas使用记录
- 基于WebSocket协议的iOS端即时聊天
- 产品工作中保持饥饿感,保持拒绝90%以上的伪需求你就不会错过下一个微信
- R软件的下载及安装(截图步骤详细)
- 【图像处理】——傅里叶变换、DFT以及在图像上的应用
- python统计字符在文件中出现的次数_一文搞定统计字符串中某字符出现的频次
- 无监督学习与有监督学习的本质区别是什么_干货关于无监督学习你了解多少?...
- Java阶段测试题一
- 手把手带你深入解析静态分派 动态分派原理 | 原力计划
- ASP.NET中 CompareValidator(比较验证)的使用
- SketchUp 更新插件,不用重启让更新生效
- 【HUSTOJ】1048: 字符图形4-星号正三角
- 在mandriva2009上面架构dhcp服务器
- centos7.6安装mysql数据库_CentOS7.6安装MYSQL8.0
- @Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig详解
- PTA 7-114 用if-else语句编程百分制成绩转换为五分制成绩
- 总结:python代码实现矩阵最基本操作
- LEETCODE--mysql查询第二高薪水
- Java胖老鼠的交易
- 四十六.风控评分卡模型关键点理解
热门文章
- 【读书笔记->数据分析】03 BDA数据可视化
- 梯有N阶,上楼可以一步上一阶,也可以一次上二阶(Java实现)
- MyBatis读数据库出现很多字段都是null的问题
- 大数据分析与挖掘期末复习
- 攻防世界web新手题答案_南开本部20春学期(2003)《计算机应用基础》在线作业-1答案...
- challenge是什么意思_英语单词学习-challenge是什么意思_翻译_用法_例句
- iOS 在itunes connect创建App内购项目时遇到的坑
- 如何阅读一份上市公司财报 - 财报阅读入门
- 杀掉window/system32/driver下.sys的流氓文件
- kali使用笔记本自带无线网卡_不会选无线网卡看过来!再也不花冤枉钱了.........