七. Cron 表达式 Cookbook
此处的 Cron 表达式 cookbook 旨在为常用的执行需求提供方案。尽管不可能列举出所有的表达式,但下面的应该为满足你的业务需求提供了足够的例子。
·分钟的 Cron 表达式
表 5.1. 包括了分钟频度的任务计划 Cron 表达式

用法
表达式

每天的从 5:00 PM 至 5:59 PM 中的每分钟触发
0 * 17 * * ?

每天的从 11:00 PM 至 11:55 PM 中的每五分钟触发
0 0/5 23 * * ?

每天的从 3:00 至 3:55 PM 和 6:00 PM 至 6:55 PM 之中的每五分钟触发
0 0/5 15,18 * * ?

每天的从 5:00 AM 至 5:05 AM 中的每分钟触发
0 0-5 5 * * ?

·日上的 Cron 表达式

表 5.2. 基于日的频度上任务计划的 Cron 表达式

用法
表达式

每天的 3:00 AM
0 0 3 * * ?

每天的 3:00 AM (另一种写法)
0 0 3 ? * *

每天的 12:00 PM (中午)
0 0 12 * * ?

在 2005 中每天的 10:15 AM
0 15 10 * * ? 2005

·周和月的 Cron 表达式
表 5.3. 基于周和/或月的频度上任务计划的 Cron 表达式

用法
表达式

在每个周一,二, 三和周四的 10:15 AM
0 15 10 ? * MON-FRI

每月15号的 10:15 AM 
0 15 10 15 * ?

每月最后一天的 10:15 AM
0 15 10 L * ?

每月最后一个周五的 10:15 AM
0 15 10 ? * 6L

在 2002, 2003, 2004, 和 2005 年中的每月最后一个周五的 10:15 AM
0 15 10 ? * 6L 2002-2005

每月第三个周五的 10:15 AM
0 15 10 ? * 6#3

每月从第一天算起每五天的 12:00 PM (中午)
0 0 12 1/5 * ?

每一个 11 月 11 号的 11:11 AM
0 11 11 11 11 ?

三月份每个周三的 2:10 PM 和 2:44 PM
0 10,44 14 ? 3 WED

八. 创建一个即刻触发的 Trigger
有时候,你需要立即执行一个 job。例如,想像一下,你正在构建一个 GUI 程序并允许用户能立刻执行。另一个例子,你或许已经检测到了某个 Job 未执行成功,因此你想要即刻重跑一次。在 Quartz 1.5,有几个方法被加入到了 TriggerUtils 类中,使得实现那些事很容易了。代码 5.4 展示了如何部署一个 job,只让它立即执行一次。
代码 5.4. 你可以用 TriggerUtils 来立即执行一个 Job

  1. public class Listing_5_4 {
  2. static Log logger = LogFactory.getLog(Listing_5_4.class);
  3. public static void main(String[] args) {
  4. Listing_5_4 example = new Listing_5_4();
  5. example.runScheduler();
  6. }
  7. public void runScheduler() {
  8. Scheduler scheduler = null;
  9. try {
  10. // Create a default instance of the Scheduler
  11. scheduler = StdSchedulerFactory.getDefaultScheduler();
  12. scheduler.start();
  13. logger.info("Scheduler was started at " + new Date());
  14. // Create the JobDetail
  15. JobDetail jobDetail = new JobDetail("PrintInfoJob",
  16. Scheduler.DEFAULT_GROUP,
  17. PrintInfoJob.class);
  18. // Create a trigger that fires once right away
  19. Trigger trigger = TriggerUtils.makeImmediateTrigger(0, 0);
  20. trigger.setName("FireOnceNowTrigger");
  21. scheduler.scheduleJob(jobDetail, trigger);
  22. } catch (SchedulerException ex) {
  23. logger.error(ex);
  24. }
  25. }
  26. }

public class Listing_5_4 { static Log logger = LogFactory.getLog(Listing_5_4.class); public static void main(String[] args) { Listing_5_4 example = new Listing_5_4(); example.runScheduler(); } public void runScheduler() { Scheduler scheduler = null; try { // Create a default instance of the Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.start(); logger.info("Scheduler was started at " + new Date()); // Create the JobDetail JobDetail jobDetail = new JobDetail("PrintInfoJob", Scheduler.DEFAULT_GROUP, PrintInfoJob.class); // Create a trigger that fires once right away Trigger trigger = TriggerUtils.makeImmediateTrigger(0, 0); trigger.setName("FireOnceNowTrigger"); scheduler.scheduleJob(jobDetail, trigger); } catch (SchedulerException ex) { logger.error(ex); } } }
在代码 5.4 中,TriggerUtils 的 makeImmediateTrigger() 方法被用来立即执行一个 Job。第一个参数是将要触发的次数。第二个参数是执行的间隔时间。为方便起见,这个方法的签名显示如下:
public static Trigger  makeImmediateTrigger(int repeatCount, long repeatInterval);
TriggerUtils 类提供了许多便利的方法简化了 Trigger 的使用。确切地检查一下这个工具类中看看是否有你想要的东西。你还将在本书上看到更多的使用 TriggerUtils 的例子。

Cron 触发器及相关内容 (第四部分)相关推荐

  1. Cron 触发器及相关内容 (第三部分)

    四. 为 CronTrigger 使用起迄日期 Cron 表达式是用来决定一个 Trigger 被触发执行一个 Job 的日期和次数.当你创建一个 CronTrigger 实例,假如没为它指定一个开始 ...

  2. Cron 触发器及相关内容 (第一部分)

    我们在上章中有承诺过会花更多时间来讲 Quartz 的 CronTrigger,所以不会让你失望的.SimpleTrigger 对于需要在指定的毫秒处及时执行的作业还是不错的,但是假如你的作业需要更复 ...

  3. Cron 触发器及相关内容 (第二部分)

    三. cron 表达式的格式 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别.区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX ...

  4. 计算机一级b和小高考,2021年小高考B是几分相关内容

    <2021年小高考B是几分相关内容>由会员分享,可在线阅读,更多相关<2021年小高考B是几分相关内容(3页珍藏版)>请在人人文库网上搜索. 1.小高考B是几分相关内容 小高考 ...

  5. 剔除与深度测试(Culling Depth Testing)相关内容

    一.剔除与深度测试(Culling & Depth Testing)相关内容 1.1 剔除(Culling)的概念 对于实时交互的3D环境而言,现实的速度和效率是非常重要的.虽然现在的硬件能力 ...

  6. 《算法竞赛入门经典——训练指南》第一章相关内容

    #<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...

  7. 计算机一级b和小高考,小高考B是几分相关内容

    小高考专指普通高中学业水平考试,因为与大学录取直接挂钩,所以被称为小高考,很多大学也对小高考成绩有所要求.下面给大家分享一些关于小高考B是几分相关内容,希望对大家有所帮助. 一.小高考B是几分 各科原 ...

  8. OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 清单5.9-5.28

    OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 清单5.9-5.28 文章目录 OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 ...

  9. linux/android驱动工程师面试相关内容总结

    理论的东西不常用时就会慢慢的被遗忘,但是找工作就是一个如何让别人相信自己的过程,理论知识就是一个非常重要的途径. 一次次机会在错失,每次想找工作时,刷一下简历就去面试了,一次次因为理论被鄙视,也该长长 ...

最新文章

  1. 石家庄的联通破网络,请大家鉴定
  2. 2018前端常见问题整理
  3. shell脚本调试中打开set选项
  4. Activity 与ListActivity的区别
  5. mysql mpm_使用Zabbix + MPM全面监控MySQL
  6. keypairgenerator生成的公钥是不变的么_bitcoin 地址是如何生成的
  7. python标准化输出
  8. java 离散算法_用JAVA语言实现离散数学算法
  9. Mvvm Light Toolkit 入门
  10. WPF 使用自定义的TTF字体
  11. python rpc框架对比_RPC简介及框架选择
  12. 【转载】DDR2 DDR3 PCBlayout规则
  13. 安卓微博登录第三方详解
  14. lua知识点-unpack
  15. 四大类型的BPM平台
  16. MacOS上BeyondCompare无限试用的方法
  17. 【运筹学】对偶理论 : 总结 ( 对偶理论 | 原问题与对偶问题对应关系 | 对偶理论的相关结论 ) ★★★
  18. TI芯片GPIO的内部上拉
  19. va_start 用法
  20. iPhone微信浏览器某些元素点击无效

热门文章

  1. 接二手java项目需要什么资料_师妹问双非本科如何进BAT,我告诉她Java后端路线...
  2. Unity2018新功能抢鲜 | ShaderGraph实战之全息效果
  3. odoo10参考系列--测试模块
  4. mr图像翻转的原因_MR成像技术讲解
  5. linux 解压文件zip格式
  6. eclipse git 取远程代码_IDEA中的Git操作,看这一篇就够了!
  7. 课程体系包括哪些要素_利润的构成要素包括哪些部分
  8. ren命令linux,Linux mren命令
  9. python函数的使用方法_Python函数使用
  10. ionic4生命周期