@Scheduled
使用 @Scheduled 非常容易,直接創建一個 Spring Boot 項目,並且添加 web 依賴 spring-boot-starter-web,項目創建成功後,添加 @EnableScheduling 註解,開啓定時任務:
@SpringBootApplication
@EnableScheduling //開啓定時任務
public class TimedTaskApp {
public static void main(String[] args) {
SpringApplication.run(TimedTaskApp.class,args);
}
}
下面配置定時任務:
@Component
public class TimedTask {
@Scheduled(fixedRate = 1000)
public void task1(){
System.out.println("任務1");
}
@Scheduled(fixedRate = 2000)
public void task2(){
System.out.println("任務2");
}
public void task3(){
System.out.println("任務3");
}
}
首先使用 @Scheduled 註解開啓一個定時任務。
1. fixedRate 表示任務執行之間的時間間隔,具體是指兩次任務的開始時間間隔,即第二次任務開始時,第一次任務可能還沒結束。
2. fixedDelay 表示任務執行之間的時間間隔,具體是指本次任務結束到下次任務開始之間的時間間隔。
3. initialDelay 表示首次任務啓動的延遲時間。
4. 所有時間的單位都是毫秒。
@Scheduled 註解也支持 cron 表達式.