Spring Boot建立定時任務

項目中常常要用到定時任務,好比發郵件短信、清理緩存等等
spingboot 建立定時任務很是簡單,只須要幾個註解就能夠。
下面我給一個定時清理緩存的任務,測試程序緩存功能的時候常常要用到。spring

一、啓動定時任務配置緩存

只須要在 Application上加上 @EnableScheduling 註解, @EnableCaching是啓動緩存配置的
圖片描述ide

二、建立須要定時執行的方法
在方法上加上註解 @Scheduled(fixedRate=10000) ,下圖是一個定時清理緩存的方法
每10s執行一次:
圖片描述測試

  • 執行結果:

圖片描述

參加spring官方案例: https://spring.io/guides/gs/s...
三、@Scheduled註解參數:ui

  • @Scheduled(fixedRate = 5000) :上一次開始執行時間點以後5秒再執行
  • @Scheduled(fixedDelay = 5000) :上一次執行完畢時間點以後5秒再執行spa

    *這個與fixedRate區別在於,能夠保證任務不會重疊執行,*
    *fixedRate=5000表示每5s中啓動任務,若是任務執行時間超過了5s中那麼就會有多個任務同時執行。*
    *fixedDelay=5000s會等帶上個任務執行完畢才執行,*
  • @Scheduled(initialDelay=1000, fixedRate=5000)
    :第一次延遲1秒後執行,以後按fixedRate的規則每5秒執行一次
  • @Scheduled(cron="*/5 * * * * *") :經過cron表達式定義規則

詳細請看官方文檔:3d

相關文章
相關標籤/搜索