|
Cron 表达式被用来注册CronTrigger实例的。Cron表达式是字符串,它由六个子表达式组成,它描述了不同的调度细节。 这些子表达式被白色表达式隔开,表现: Seconds 秒 Minutes 分 Hours 时 Day-of-Month 日 Month 月 Day-of-Week 周 一个完整的Cron 表达式例子是字符串“0 0 12 ? * WEB” 意味着每周三上午12:00。 单独的子表达式可以包含平行的和/或。 例如,在上一个例子一周的一天字段(它读作"WED")可以被“MON-FRI”,"MON,WED,FRI",或者甚至"MON-WED,SAT"替换掉。 统配符("*"字符)可以被用来作为这个字段的"每一个"可能值。 所以,在上一个例子月字段中的"*"字符表示每个月。一个"*"在周天将明显意味着周的每一天。 所有字段都用一个合法限定的值。 这些值应该是明显的,例如0到59数字为秒和分的限定,0到23为小时。 月的某天可以是0-31的,或者你需要消息给个月有多少天! 月份可以被限定在0到11,或者,使用英文字符串缩写。 一个礼拜的一天可以被限定作为1到7(1=Sunnday)或者使用英文字符串。 "/"字符可以内用来限定值的增加。 例如,如果你将'0/15'放到分钟字段,它意味着"每15分钟,开始于0分钟"。 如果你使用"3/20"在分钟字段中,你将意味着"一个小时内每20分钟,开始于3分钟"--- 或者换言之,它和在分钟字段"3,23,43"限定是一样的。 "?"字符是允许为月的某一天或者周的某一天字段的。 它被用来限定"没有限定值"。这是有用的,当你需要限定一些事情在一个或两个字段中,但不是这里的。 "L"字符是允许用来月某天和周某天字段。 这个字符是一个"last"的缩写,但是它有不同的意义在两个字段的其中之一。 例如,这个值"L"在月字段的某一天意味着" 这个月的最后一天",31或者28等等。 下面有些例子,可以在JavaDoc里查询CronTigger更详细的内容。 每5分钟 "0 0/5 * * * ?" 每5分10秒 "10 0/5 * * * ?" 每周三和周五的10:30,11:30,12:30,13:30 "0 30 10-13 ? * WED,FRI" 在每月的第5天和第20天的8点至9点中,每隔30分钟(即8:00,8:30,9:00,9:30)。注意:不包括10:00。 "0 0/30 8-9 5,20 * ?" 有些计划任务对于一个Tirgger来说太过复杂, 例如“9:00至10:00中每5分钟,且每1:00pm至10:00pm中每20分钟”,解决办法是创建两个Trigger,用它们来共同完成这项任务。
附件:
t.rar (328 K)
|
一共有 1 条评论