SpringBoot 定時任務篇

2022-05-04 11:48:06 字數 933 閱讀 8455

一. 基於註解@scheduled預設為單執行緒,開啟多個任務時,任務的執行時機會受上乙個任務執行時間的影響。

1、建立定時器

@component

@configuration //1.主要用於標記配置類,兼備component的效果。

@enablescheduling // 2.開啟定時任務

public class saticscheduletask

}

cron表示式引數分別表示:

@scheduled:除了支援靈活的引數表示式cron之外,還支援簡單的延時操作,例如 fixeddelay ,fixedrate 填寫相應的毫秒數即可。

2、啟動測試

啟動應用,可以看到控制台列印出如下資訊:

二. 基於註解設定多執行緒定時任務

1、建立多執行緒定時任務

//@component註解用於對那些比較中立的類進行注釋;

//相對與在持久層、業務層和控制層分別採用 @repository、@service 和 @controller 對分層中的類進行注釋

@component

@enablescheduling // 1.開啟定時任務

@enableasync // 2.開啟多執行緒

public class multithreadscheduletask

@async

@scheduled(fixeddelay = 2000)

public void second()

}

注:這裡的@async註解很關鍵

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 ...