Cron表达式详解—java培训.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cron表达式详解—java培训

Cron表达式被用来配置CronTrigger实例。 Cron表达式是一个由 7个子表达式组成的字符串。每个子表达式都描述了一个单独的日程细节。这些子表达式用空格分隔,分别表示:   1. Seconds 秒   2. Minutes 分钟   3. Hours 小时   4. Day-of-Month 月中的天   5. Month 月   6. Day-of-Week 周中的天   7. Year (optional field) 年(可选的域)   s m h dom M dow Y   顺序:右至左路,[年]周月日时分秒   符号:* 任意   / 增量 a/b 从a开始每次增加b   ? 没有值   L 最后一个值   W   # 月中的第几个周几 6#3 第三个周五   - 连续区间至   , 多个值   一个cron表达式的例子字符串为0 0 12 ? * WED,这表示每周三的中午 12: 00.单个子表达式可以包含范围或者列表。例如:前面例子中的周中的天这个域(这里是WED)可以被替换为MON-FRI, MON, WED, FRI或者甚至MON-WED,SAT.通配符(*)可以被用来表示域中每个可能的值。因此在Month域中的*表示每个月,而在 Day-Of-Week域中的*则表示周中的每一天.   所有的域中的值都有特定的合法范围,这些值的合法范围相当明显,例如:秒和分域的合法值为 0到 59,小时的合法范围是 0到 23,Day-of-Month中值得合法凡范围是0到 31,但是需要注意不同的月份中的天数不同。月份的合法值是0到 11.或者用字符串JAN,FEB MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV 及 DEC 来表示。   Days-of-Week可以用1到7来表示 (1=星期日)或者用字符串SUN, MON, TUE, WED,THU, FRI 和SAT来表示。   /字符用来表示值的增量,例如, 如果分钟域中放入0/15,它表示每隔 15 分钟,从 0开始,如果在份中域中使用3/20,则表示小时中每隔 20分钟,从第 3分钟开始或者另外相同的形式就是3,23,43.?字符可以用在day-of-month及 day-of-week域中,它用来表示没有指定值.   这对于需要指定一个或者两个域的值而不需要对其他域进行设置来说相当有用。看下面例子(以及 CronTrigger JavaDOC)会更清楚。  L字符可以在 day-of-month及day-of-week中使用,这个字符是last的简写,但是在两个域中的意义不同。例如,在 day-of-month域中的L表示这个月的最后一天,即,一月的 31日,非闰年的二月的 28日。如果它用在 day-of-week中,则表示7或者SAT.但是如果在 day-of-week域中,这个字符跟在别的值后面,则表示当月的最后的周 XXX.例如:6L 或者 FRIL都表示本月的最后一个周五。当使用L选项时,最重要的是不要指定列表或者值范围,否则会导致混乱。   W 字符用来指定距离给定日最接近的周几(在 day-of-week域中指定)。例如:   如果你为 day-of-month 域指定为15W,则表示距离月中 15号最近的周几.   #表示表示月中的第几个周几。例如:day-of-week 域中的6#3 或者 FRI#3   表示月中第三个周五. 下面是一些表达式以及它们的含义,你可以在CronTrigger的JavaDOC 中找大更多   例子。   Example Cron Expressions --Cron 表达式的例子   CronTrigger 例 1 – 一个简单的每隔 5分钟触发一次的表达式   0 0/5 * * * ?   CronTrigger 例2 – 在每分钟的10秒后每隔5分钟触发一次的表达式(例如。 10:00:10   am, 10:05:10等。)。   10 0/5 * * * ?   CronTrigger 例 3 – 在每个周三和周五的 10:30,11:30,12:30触发的表达式。   0 30 10-13 ? * WED,FRI   CronTrigger 例 4 – 在每个月的 5号, 20号的 8点和 10点之间每隔半个小时触发一次且不包括 10点,只是 8:30,9:00和 9:30的表达式。   0 0/30 8-9 5,20 * ?   注意,对于单独触发器来说,有些日程需求可能过于复杂而不能用表达式表述,例如:   9:00到10:00之间每隔 5分钟触发一次,下午1:00到 10点每隔 20分钟触发一次。   这个解决方案就是创建两个触发器

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档