springboot開發定時任務

2021-10-02 02:52:13 字數 945 閱讀 9886

使用springboot建立定時任務非常簡單,目前主要有以下三種建立方式:

一、基於註解(@scheduled)

二、基於介面(schedulingconfigurer) 前者相信大家都很熟悉,但是實際使用中我們往往想從資料庫中讀取指定時間來動態執行定時任務,這時候基於介面的定時任務就派上用場了。

三、基於註解設定多執行緒定時任務

一、靜態:基於註解

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

1、建立定時器

使用springboot基於註解來建立定時任務非常簡單,只需幾行**便可完成。 **如下:

cron表示式引數分別表示:

秒(0~59) 例如0/5表示每5秒

分(0~59)

時(0~23)

日(0~31)的某天,需計算

月(0~11)

週幾( 可填1-7 或 sun/mon/tue/wed/thu/fri/sat)

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

2、啟動測試

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

顯然,使用@scheduled 註解很方便,但缺點是當我們調整了執行週期的時候,需要重啟應用才能生效,這多少有些不方便。為了達到實時生效的效果,可以使用介面來完成定時任務。

二、動態:基於介面

三、多執行緒定時任務

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