官方链接:http://spring.io/guides/gs/scheduling-tasks/
Scheduling Tasks
这个教程会花费数步让你熟悉Spring的定时任务使用
目的
你将会建立一个应用,每五秒打印一下当前时间,使用Spring中的@Scheduled注解。
我的环境
jdk1.8,maven,intellij
创建一个定时任务
当一个方法运行时使用Scheduled注解。这个例子是使用fixedRate,还可以使用fixedDelay和cron。cron是跟复杂的时间控制:
1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。
2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。
3、cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起。
Enable Scheduling注解
在看启动的main方法:
@EnableScheduling确保在后台创建任务执行器,否则什么也不会执行。
网友评论