springboot定時任務基於註解

 

 

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling//開啓對定時任務的支持
public class DemoApplication {

   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

 

項目啓動定時任務啓動

 

 

 

@Slf4j
@Component
public class Atask {

    @Scheduled(cron = "*/10 * * * * ?")//按照指定時間執行
    public  void  aTask(){
        log.info("10秒執行一次當前時間");
    }

    @Scheduled(fixedRate = 5000)//fixedRate間隔固定的時間觸發定時任務
    public void aaa(){
        log.info("5秒執行一次");
    }

}

根據設定的時間表達式觸發定時任務

 

觸發結果

2018-04-13 13:59:47.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒執行一次
2018-04-13 13:59:50.002  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 10秒執行一次
2018-04-13 13:59:52.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒執行一次
2018-04-13 13:59:57.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒執行一次
2018-04-13 14:00:00.000  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 10秒執行一次
2018-04-13 14:00:02.021  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒執行一次
2018-04-13 14:00:07.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒執行一次
2018-04-13 14:00:10.002  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 10秒執行一次
2018-04-13 14:00:12.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒執行一次

 

定時任務只需這兩個註解即可

@EnableScheduling,
@Scheduled

定時任務表達式

點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章