定时任务@Scheduled参数简要说明

关于@Scheduled注解类,在org.springframework.scheduling.annotation包下面,感兴趣可以打开看看。主要用的参数就是initialDelay、fixedDelay、fixedRate、cron
initialDelay 看名字,初始用的,就是指在启动时,延迟执行的时间,单位是ms,源码默认值long fixedDelay() default -1;,此参数可不写,启动即执行。
fixedRate执行周期,单位ms,是指按照参数值指定的频率执行,时间周期是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次便不会执行,但在阻塞这段时间会累计执行的次数,当不再阻塞时,直接全部执行后面的任务,执行完后,再按照固定频率继续执行。
fixedDelay跟前者一样,也是执行周期,但这个是以上一次方法执行完开始计算,如果上一次方法执行阻塞了,那么就一直等,直到上一次执行完,并在参数指定的间隔定后执行下一次。
cron 这个很明了,cron表达式,这个参数值是String。执行的方式是与fixedDelay相近的,也是按照上一次结束时间开始计算。
以上几个参数就是开发中常用的,其它的参数,可以打开源码自己研究研究。实践是检验真理的唯一标准!