您的位置:首页 > 编程语言 > Java开发

CronTrigger具体运用方式

2008-08-19 10:59 141 查看
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,用它们来共同完成这项任务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cron javadoc 任务 web