Spring内部有一个task是Spring自带的一个设定时间自动任务调度,提供了两种方式进行配置,一种是注解的方式,而另外一种就是XML配置方式了。注解方式比较简洁,XML配置方式相对而言有些繁琐,但是应用场景的不同,两者又各有优点,所以具体使用还是根据需求来划分。因为任务调度这样的需求,通常改动都是比较多的,如果用注解的方式改动就变得麻烦了,必须去重新编译。所以更多的时候我选择用XML配置的方式。

定时任务调度,在生产环境一般是在晚上空闲时间执行。但测试时,不可能等到第二天上班才看定时任务执行结果,这就需要测试人员修改定时任务的执行时间。

Spring定时任务调度的参数配置

cronExpression的配置说明

字段   允许值   允许的特殊字符

   0-59    , - * /

   0-59    , - * /

小时    0-23    , - * /

日期    1-31    , - * ? / L W C

月份    1-12 或者 JAN-DEC    , - * /

星期    1-7 或者 SUN-SAT    , - * ? / L C #

年(可选)    留空, 1970-2099    , - * /

- 区间  

* 通配符  

? 你不想设置那个字段

 

下面例出几个式子

CRON表达式    含义

"0 0 12 * * ?"     每天中午十二点触发

"0 15 10 ? * *"    每天早上1015触发

"0 15 10 * * ?"    每天早上1015触发

"0 15 10 * * ? *"    每天早上1015触发

"0 15 10 * * ? 2005"    2005年的每天早上1015触发

"0 * 14 * * ?"    每天从下午2点开始到259分每分钟一次触发

"0 0/5 14 * * ?"    每天从下午2点开始到255分结束每5分钟一次触发

"0 0/5 14,18 * * ?"    每天的下午2点至2556点至655分两个时间段内每5分钟一次触发

"0 0-5 14 * * ?"    每天14:0014:05每分钟一次触发

"0 10,44 14 ? 3 WED"    三月的每周三的14101444触发

"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的1015触发