欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?@Scheduled定時器注解使用方式

 更新時間:2024年08月02日 08:40:50   作者:杜小舟  
這篇文章主要介紹了Spring?@Scheduled定時器注解使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

引言

@Scheduled 是用于在 Spring 框架中為方法配置定時任務的注解,它允許在一定的時間間隔或在特定的時間點運行一個方法,我們一般將該方法放在服務類中。

主要屬性介紹

屬性名稱介紹
fixedRate以指定的毫秒數(shù)間隔連續(xù)執(zhí)行方法。每次執(zhí)行開始的時間都是固定的間隔時間。示例:@Scheduled(fixedRate = 5000) 表示該方法每5秒執(zhí)行一次
fixedDelay以指定的毫秒數(shù)間隔執(zhí)行方法。方法執(zhí)行完畢后,等待給定的延遲時間,然后開始下一次執(zhí)行。示例:@Scheduled(fixedDelay = 5000) 表示方法執(zhí)行完畢后等待5秒,然后再執(zhí)行下一次。
cron使用Cron表達式配置定時任務。Cron表達式可以非常靈活地指定任務的執(zhí)行時間。示例:@Scheduled(cron = “0 0 * * * ?”) 表示每天的整點執(zhí)行一次該方法
initialDelay在系統(tǒng)初始延遲時間之后開始首次執(zhí)行。示例:@Scheduled(initialDelay = 2000, fixedRate = 5000) 在系統(tǒng)初始后,延遲2秒后開始,然后每5秒執(zhí)行一次

cron 語法

簡單介紹

Cron 表達式是一種由6到7個字段組成的字符串,每個字段代表時間的一個部分。

這些字段以空格分隔,依次是:

  • 秒(0-59)
  • 分鐘(0-59)
  • 小時(0-23)
  • 日期(1-31)
  • 月份(1-12或JAN-DEC)
  • 星期(1-7或SUN-SAT,周日為1)
  • 年份(可選)

通常你會看到6個字段的Cron表達式(年份通常不使用)。

每個字段中的值可以是數(shù)字、特殊符號或者范圍表示。

特殊符號

  • *(星號):表示所有可能的值。如在分鐘字段中使用,表示每分鐘觸發(fā)。
  • ?(問號):僅在日期和星期字段中使用。表示不指定值,通常是因為在另一個字段中已經(jīng)指定了條件。
  • -(連字符):表示一個范圍。例如,1-5表示從1到5的范圍。
  • ,(逗號):表示列出多個值。例如,1,3,5表示1、3和5。
  • /(斜杠):表示步長。例如,0/15在秒字段中表示從0秒開始每15秒觸發(fā)。
  • L:在日期字段中表示最后一天;在星期字段中表示最后一個星期幾。例如,L在日期字段中表示該月的最后一天,在星期字段中表示周六。
  • W:表示工作日(星期一至五)。例如,15W表示離15號最近的工作日。
  • #:在星期字段中使用,表示一個特定的星期幾。例如,2#3表示每月的第三個星期二

例子

  • 每天早上9點執(zhí)行一次
@Scheduled(cron = "0 0 9 * * ?")
  • 每月的第一個星期一早上10點執(zhí)行
@Scheduled(cron = "0 0 10 ? * 2#1")
  • 每周三和周五下午2點執(zhí)行
@Scheduled(cron = "0 0 14 ? * 3,5")
  • 每隔10分鐘執(zhí)行一次
@Scheduled(cron = "0 */10 * * * ?")
  • 每個月的最后一天晚上11點執(zhí)行
@Scheduled(cron = "0 0 23 L * ?")

使用 @Scheduled 注解注意事項

線程安全

  • @Scheduled 注解的方法可能會被多個線程同時執(zhí)行。
  • 如果方法不是線程安全的,可能導致數(shù)據(jù)競爭和其他并發(fā)問題。
  • 因此,在使用 @Scheduled 注解時,確保方法是線程安全的。

執(zhí)行時間

  • 如果定時任務的執(zhí)行時間比間隔時間長,會導致方法重疊執(zhí)行。
  • 根據(jù)需要調(diào)整 fixedRate 參數(shù)或 fixedDelay 參數(shù)。

配置

  • 確保在 Spring 配置文件中啟用了任務調(diào)度。
  • 通常在主應用類或配置類中使用 @EnableScheduling 注解。

異常處理

  • 在定時任務中要注意異常處理,以免任務在發(fā)生錯誤時被中斷。
  • 可以通過捕獲和記錄異常,或者重試失敗任務來提高可靠性。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • idea打開和讀取*properties文件亂碼的解決

    idea打開和讀取*properties文件亂碼的解決

    本文主要介紹了idea打開和讀取*properties文件亂碼的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • java開發(fā)之讀寫txt文件操作的實現(xiàn)

    java開發(fā)之讀寫txt文件操作的實現(xiàn)

    本篇文章介紹了,java開發(fā)之讀寫txt文件操作的實現(xiàn)。需要的朋友參考下
    2013-05-05
  • Java集合框架超詳細小結

    Java集合框架超詳細小結

    Java中提供的一種容器,可以用來存儲多個數(shù)據(jù)。java集合大致可以分為Set,List,Queue和Map四種體系。這篇文章主要介紹了Java集合框架超詳細小結,需要的朋友可以參考下
    2021-08-08
  • Spring容器注冊組件實現(xiàn)過程解析

    Spring容器注冊組件實現(xiàn)過程解析

    這篇文章主要介紹了Spring容器注冊組件實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • kotlin改善java代碼實例分析

    kotlin改善java代碼實例分析

    我們給大家整理了關于kotlin改善java代碼的相關實例以及操作的詳細方法,有需要的讀者們參考下。
    2018-03-03
  • Java中spring boot 字符串判斷是否為空方法小結

    Java中spring boot 字符串判斷是否為空方法小結

    這篇文章主要介紹了Java中spring boot字符串判斷是否為空,通過安裝依賴,結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • Java利用Socket和IO流實現(xiàn)文件的上傳與下載

    Java利用Socket和IO流實現(xiàn)文件的上傳與下載

    本文主要介紹了Java利用Socket和IO流實現(xiàn)文件的上傳與下載,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 詳解springboot讀取yml配置的幾種方式

    詳解springboot讀取yml配置的幾種方式

    這篇文章主要介紹了詳解springboot讀取yml配置的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • MyBatis的JdbcType與Oracle、MySql數(shù)據(jù)類型一覽表

    MyBatis的JdbcType與Oracle、MySql數(shù)據(jù)類型一覽表

    這篇文章主要介紹了MyBatis的JdbcType與Oracle、MySql數(shù)據(jù)類型一覽表,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • springboot網(wǎng)站應用使用第三方qq登錄的實現(xiàn)過程

    springboot網(wǎng)站應用使用第三方qq登錄的實現(xiàn)過程

    這篇文章主要介紹了springboot網(wǎng)站應用使用第三方qq登錄,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論