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

Spring?@Scheduled定時(shí)器注解使用方式

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

引言

@Scheduled 是用于在 Spring 框架中為方法配置定時(shí)任務(wù)的注解,它允許在一定的時(shí)間間隔或在特定的時(shí)間點(diǎn)運(yùn)行一個(gè)方法,我們一般將該方法放在服務(wù)類中。

主要屬性介紹

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

cron 語(yǔ)法

簡(jiǎn)單介紹

Cron 表達(dá)式是一種由6到7個(gè)字段組成的字符串,每個(gè)字段代表時(shí)間的一個(gè)部分。

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

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

通常你會(huì)看到6個(gè)字段的Cron表達(dá)式(年份通常不使用)。

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

特殊符號(hào)

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

例子

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

使用 @Scheduled 注解注意事項(xiàng)

線程安全

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

執(zhí)行時(shí)間

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

配置

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

異常處理

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

總結(jié)

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

相關(guān)文章

  • idea打開(kāi)和讀取*properties文件亂碼的解決

    idea打開(kāi)和讀取*properties文件亂碼的解決

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

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

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

    Java集合框架超詳細(xì)小結(jié)

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

    Spring容器注冊(cè)組件實(shí)現(xiàn)過(guò)程解析

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

    kotlin改善java代碼實(shí)例分析

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論