有注解和xml两种形式配置spring-task
###基于注解方式
####1.springmvc.xml配置
<!-- 任务扫描注解 -->
<task:annotation-driven/>
####2.方法上加注解
@Component
public class TestTask {
//每秒钟执行一次
@Scheduled(cron="*/1 * * * * *")
public void test() {
System.out.println("sssssssssssss");
}
}
备注:类上加上@Component注解可以被扫描到,因此类里面的@Scheduled才能被扫描到;如果类上不加注解,则类里面的注解被扫描不到。
####3.cron参数
如下是官方示例
second minute hour day month weekday
0 0 * * * * //每天每小时执行一次
0/1 * * * * * //每秒钟执行一次
0 0/30 8-10 * * * //每天8:00、8:30、9:00、9:30 和10:00执行一次
0 0 9-17 * * mon-fri //周一到周五,9点-17点之间,每小时执行一次
0 0 0 25 12 ? //每个圣诞节执行一次
参数理解
字段 允许值 允许的特殊字符
秒 0-59 ,-*/
分 0-59 ,-*/
时 0-23 ,-*/
天 1-31 ,- * ?/L W C
月 1-12或jan-dec ,- * /
周 1-7或sun-sat ,-*?/
年(可选) 留空
- 表示区间
* 表示通配符
? 表示不想设置该字段
示例
0 0 0 12 * * * 每天中午12点触发
0 * 12 * * * 每天中午12到12点59分之间每分钟触发一次
0 0/5 12 * * * 每天中午12点到12:58分之间每5分钟触发一次
###基于xml配置