@Scheduled 定时任务三种模式:
fixedDelay、cron、fixedRate
简述三种模式的用法:
1.fixDelay
@Scheduled(fixedDelay = 5 * 1000)
间隔5s 执行一次任务。当前任务的执行时间 不影响间隔。即,两个任务之间间隔固定不变。
2.cron
@Scheduled(cron = "0 0 0 ? * *")
根据cron 表达式,来指定任务执行的时间。
例句表示的是:每天0点执行一次
3.fixRate
@Scheduled(fixedRate = 5 * 1000)
预定任务时长,当前任务超时缩减后面任务时长补上。
例如:已经预定任务时长为 5s。
任务一:执行时长为6s
任务二:执行时长为4s (将任务一的时长补回来)
任务三:执行时长为7s
任务四:执行时长为3s (将任务三的时长补回来)