参考地址:http://www.cnblogs.com/chen-lhx/p/5581129.html
spring中使用定时任务
基于xml配置文件使用定时任务
首先配置spring开启定时任务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
定义自己的任务执行逻辑
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
基于注解使用定时任务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
这样,当项目启动,定时任务就会按照规则按时执行了。
Spring Boot中使用定时任务
Spring Boot中使用更加方便。
引入
springboot starter
包
1 2 3 4 | |
在程序入口启动类添加
@EnableScheduling
,开启定时任务功能
1 2 3 4 5 6 7 | |
定义定时任务逻辑
1 2 3 4 5 6 7 8 9 10 | |
任务执行规则说明
先来看看
@Scheduled
注解的源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
可以看出,注解中可以传8种参数:
- cron:指定cron表达式
- zone:默认使用服务器默认时区。可以设置为
中的zoneIdjava.util.TimeZone
- fixedDelay:从上一个任务完成开始到下一个任务开始的间隔,单位毫秒
- fixedDelayString:同上,时间值是
类型String
- fixedRate:从上一个任务开始到下一个任务开始的间隔,单位毫秒
- fixedRateString:同上,时间值是
类型String
- initialDelay:任务首次执行延迟的时间,单位毫秒
- initialDelayString:同上,时间值是
String
类型
cron表达式的使用方法