Spring @Schedule定时任务详解

Spring @Schedule定时任务详解

基本用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Component
public class ScheduledTask {

// 每5秒执行
@Scheduled(fixedRate = 5000)
public void task1() {}

// 每分钟执行
@Scheduled(cron = "0 * * * * *")
public void task2() {}

// 延迟3秒后执行
@Scheduled(fixedDelay = 3000)
public void task3() {}
}

常用配置

  • fixedRate:固定频率
  • fixedDelay:固定延迟
  • cron:Cron表达式
  • initialDelay:初始延迟

启用定时任务

1
2
3
@EnableScheduling
@SpringBootApplication
public class Application {}

总结

@Schedule是简单的定时任务方案。