1.功能描述
需要起一个定时任务,定期去刷新缓存中的数据;
2.操作步骤
a)本项目使用的是Spring Boot,在入口处加上注解@EnableScheduling,并在定时任务的方法处加上@Scheduled(cron = "0 0/1 * * * *"),即可1min起一个定时任务;
3.Scheduled注解的参数:
a)cron是设置定时执行的表达式,如 0 0/1 * * * ?每隔1分钟执行一次;
b)zone表示执行时间的时区;
c)fixedDelay 和fixedDelayString 表示一个固定延迟时间执行,上个任务完成后,延迟多长时间执行
d)fixedRate 和fixedRateString表示一个固定频率执行,上个任务开始后,多长时间后开始执行
e)initialDelay 和initialDelayString表示一个初始延迟时间,第一次被调用前延迟的时间
4.cron表达式
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为:
1 秒(0~59)、2 分钟(0~59)、3 小时(0~23)、 4 天(0~31)、5 月(0~11)
6 星期(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)、7.年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),
一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发