一. 基於註解@scheduled預設為單執行緒,開啟多個任務時,任務的執行時機會受上乙個任務執行時間的影響。
1、建立定時器
@componentcron表示式引數分別表示:@configuration //1.主要用於標記配置類,兼備component的效果。
@enablescheduling // 2.開啟定時任務
public class saticscheduletask
}
@scheduled:除了支援靈活的引數表示式cron之外,還支援簡單的延時操作,例如 fixeddelay ,fixedrate 填寫相應的毫秒數即可。
2、啟動測試
啟動應用,可以看到控制台列印出如下資訊:
二. 基於註解設定多執行緒定時任務
1、建立多執行緒定時任務
//@component註解用於對那些比較中立的類進行注釋;注:這裡的@async註解很關鍵//相對與在持久層、業務層和控制層分別採用 @repository、@service 和 @controller 對分層中的類進行注釋
@component
@enablescheduling // 1.開啟定時任務
@enableasync // 2.開啟多執行緒
public class multithreadscheduletask
@async
@scheduled(fixeddelay = 2000)
public void second()
}
2、啟動測試
並且,由於開啟了多執行緒,第乙個任務的執行時間也不受其本身執行時間的限制,所以需要注意可能會出現重複操作導致資料異常。
SpringBoot 定時任務
第一步 在啟動類中加入如下註解 enablescheduling public class public static void main string args 注意 enablescheduling必須加,否則無法開啟定時任務 第二步 建立定時任務 component public class ...
Spring boot定時任務
最近做專案,需要使用定時任務,半個小時去更新redis資料,於是便學習了一下經驗。希望可以幫到你們。定時任務可使用三種 created by fx on 2017 9 4.component allargsconstructor public class featuredatatask 實現乙個任務...
Spring boot 定時任務
1.在啟動類上加 enablescheduling註解 package com.example.demo import org.springframework.scheduling.annotation.enablescheduling enablescheduling public static ...