spring Scheduled配置说明
Spring框架的@Scheduled
注解提供了多种方式来配置定时任务。
Fixed Rate: 以固定周期执行方法调用。例如:
@Scheduled(fixedRate = 5000)
意味着该方法将每5秒执行一次。Fixed Delay: 当方法执行完成后,延迟固定时间再执行下一次。例如:
@Scheduled(fixedDelay = 5000)
意味着当任务完成后,等待5秒再执行下一次。Initial Delay: 可以为fixed rate和fixed delay添加初始延迟,意味着方法会在应用启动后延迟一段时间再开始第一次执行。例如:
@Scheduled(initialDelay = 1000, fixedRate = 5000)
表示应用启动后1秒钟开始执行,之后每5秒执行一次。Cron expressions: 使用unix cron表达式定义更复杂的执行策略。例如:
@Scheduled(cron = "0 0 * * * ?")
表示每个小时的顶部(分钟和秒都是0)执行一次。
这些配置可以根据实际需要进行组合使用。不过请注意,fixedRate
,fixedDelay
和cron
之间是互斥的,同一方法的@Scheduled
注解中只能选用其中一种。
另外,还需要在Spring主配置类(通常是Application类)上添加@EnableScheduling
注解以开启定时任务的支持。