隔叶黄莺 The Blog of Unmi

〖隔叶黄莺三四声,挂壁飞瀑千万尘。若是人间无净土,此处为何妙语真! 隔叶黄莺四字,本非取自此句,而有寄寓他意,因见妙语,亦与予心合!〗

BlogJava 首页 新随笔 联系 聚合 管理
  226 Posts :: 86 Stories :: 546 Comments :: 0 Trackbacks
七. 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 AM0 15 10 * * ? 2005

·周和月的 Cron 表达式

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

用法表达式
在每个周一,二, 三和周四的 10:15 AM0 15 10 ? * MON-FRI
每月15号的 10:15 AM  0 15 10 15 * ?
每月最后一天的 10:15 AM0 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 AM0 15 10 ? * 6#3
每月从第一天算起每五天的 12:00 PM (中午)0 0 12 1/5 * ?
每一个 11 月 11 号的 11:11 AM0 11 11 11 11 ?
三月份每个周三的 2:10 PM 和 2:44 PM0 10,44 14 ? 3 WED

八. 创建一个即刻触发的 Trigger

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

代码 5.4. 你可以用 TriggerUtils 来立即执行一个 Job



在代码 5.4 中,TriggerUtilsmakeImmediateTrigger() 方法被用来立即执行一个 Job。第一个参数是将要触发的次数。第二个参数是执行的间隔时间。为方便起见,这个方法的签名显示如下:

public static Trigger  makeImmediateTrigger(int repeatCount, long repeatInterval);

TriggerUtils 类提供了许多便利的方法简化了 Trigger 的使用。确切地检查一下这个工具类中看看是否有你想要的东西。你还将在本书上看到更多的使用 TriggerUtils 的例子。


[版权声明]
本站内文章,如未标注 [转载],均系原创或翻译之作,本人 Unmi 保留一切权利。本站原创及译作未经本人许可,不得用于商业用途及传统媒体。网络媒体可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。及此说明,重之之重。
posted on 2008-04-04 12:07 隔叶黄莺 阅读(897) 评论(0)  编辑  收藏 所属分类: Quartz

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-05 01:06 编辑过