读书人

spring之spring与Quartz调整(Quartz的

发布时间: 2012-11-03 10:57:42 作者: rapoo

spring之spring与Quartz整合(Quartz的cronTrigger使用)

?

spring之spring与Quartz整合(Quartz的cronTrigger使用)

----------

?

Quartz的出色之处就在于可以使用CronTrigger提供了复杂触发器表达式的支持。

Cron表达式的各个部分(前六个是必选,最后一个是可选)

序号含义允许的特殊字符1秒(0-59), ? - ? * ? /2分(0-59), ? - ? * ? /3时(0-23), ? - ? * ? /4日(1-31), ? - ? * ? / ?? ?L ?C5月(JAN-DEC或1-12) ? , ?- ? * ? /6星期(SUN-STA或1-7) ? ?, ?- ? / ? ? ? L ? C ? #7年可选,1970-2099 如果为空,则表示全部时间范围 ? , ? - ? * ? /

?

其中星期和日不能同时设置,必须保证一个是?(?含义参考下文)

Cron表达式的通配符和特殊字符

* ? 表示任意值,这个特殊字符可以被使用在表达式的任域表示该值不需要被检查,因此我们的cron表达式可以在

? ? ?1970-2099之间的一个月的任意一天,任意月份,或者一周的任意一天触发?

?

? ? 无特定值,这个特殊的字符通常和其他指定的数值一起使用,表示一个值必须被显示但是不必检查

?

- ? 范围,例如在小时部分10-12表示10,11,12

?

, ? 列分隔符,允许制定一系列的数值,例如再星期域中指定MON,TUE,WE

?

/ ? 增量,这个字符表示一个数值的增量,例如在分钟域中0/1表示从0分开始,每次增加一分钟

? ? 如果我们定义5/8 ?表示从指定小时(或每个小时)的第5分钟开始,每次增加8分钟,但如果开始的时间已经超过

? ? 了5分钟,比如说现在已经是6分了,那调度会立刻开始,如果现在是2分,则会等到5分的时候开始

?

L ?L是英文中的单词LAST的缩写,他在日期和星期中的意思有一些不同。

? ? ?当在日期域中使用,它代表这个月的最后一天(3月31或者2月29等等)

? ? ?当使用在星期中,他永远表示的是一个数值 7-saturday(星期六),星期域中只有L表示每个周六

? ? ?当希望使用星期中的某一天时,L是最管用的,比如定义每个月的最后一个周五,可以这样表示星期域6L

?

# ?这个值只能在星期域中使用,它代表这个月的第几个星期,例如2#3 表示,本月第3个星期1(pro spring此处错误, ? ? ?参看http://blog.csdn.net/daryl715/archive/2007/09/11/1781143.aspx)

?

C ?这个日期数值允许使用在日期和星期域中。这个日期是根据一个给定的日历计算出来的,在日期雨中给定一个

? ? 20C将20号(当前日历包含20号时)或者20号后日历中包含的第一天(当给定日历不包括20号时)激活触发器

? ? ,在一个星期域中使用6C表示日历中周五(日历包括周五)或者第一天(不包括周五)

?

?

?

?

?

?

读书人网 >编程

热点推荐