最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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í)行開始的時(shí)間都是固定的間隔時(shí)間。示例:@Scheduled(fixedRate = 5000) 表示該方法每5秒執(zhí)行一次
fixedDelay以指定的毫秒數(shù)間隔執(zhí)行方法。方法執(zhí)行完畢后,等待給定的延遲時(shí)間,然后開始下一次執(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í)間之后開始首次執(zhí)行。示例:@Scheduled(initialDelay = 2000, fixedRate = 5000) 在系統(tǒng)初始后,延遲2秒后開始,然后每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秒開始每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)文章

  • Mybatis中SqlSession接口中selectList方法詳解

    Mybatis中SqlSession接口中selectList方法詳解

    這篇文章主要給大家介紹了關(guān)于Mybatis中SqlSession接口中selectList方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Java中HashSet集合元素去重的操作代碼

    Java中HashSet集合元素去重的操作代碼

    在 Java 編程的廣闊天地里,集合框架是開發(fā)者們不可或缺的得力工具,其中,HashSet以其獨(dú)特的去重特性,成為處理不重復(fù)元素場(chǎng)景的首選,今天,咱們就深入探究一下HashSet集合元素的去重操作,需要的朋友可以參考下
    2025-03-03
  • Java中map和flatMap的區(qū)別舉例詳解

    Java中map和flatMap的區(qū)別舉例詳解

    這篇文章主要給大家介紹了關(guān)于Java中map和flatMap區(qū)別的相關(guān)資料,在Java中Stream接口有map()和flatmap()方法,兩者都有中間流操作,并返回另一個(gè)流作為方法輸出,需要的朋友可以參考下
    2023-10-10
  • springboot啟動(dòng)不加載bootstrap.yml文件的問(wèn)題

    springboot啟動(dòng)不加載bootstrap.yml文件的問(wèn)題

    這篇文章主要介紹了springboot啟動(dòng)不加載bootstrap.yml文件的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringBoot整合liquibase及l(fā)iquibase生成初始化腳本的方式

    SpringBoot整合liquibase及l(fā)iquibase生成初始化腳本的方式

    這篇文章主要介紹了SpringBoot整合liquibase的相關(guān)資料,文中給大家介紹了liquibase生成初始化腳本的兩種方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • SpringBoot返回中文亂碼問(wèn)題解決方法匯總

    SpringBoot返回中文亂碼問(wèn)題解決方法匯總

    這幾天在使用Spring Boot學(xué)習(xí)AOP原理的時(shí)候,通過(guò)瀏覽器訪問(wèn)后端接口的時(shí)候,響應(yīng)報(bào)文總是出現(xiàn)中文亂碼問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于SpringBoot返回中文亂碼問(wèn)題解決方法,需要的朋友可以參考下
    2023-06-06
  • 詳解Java的MyBatis框架與Spring框架整合中的映射器注入

    詳解Java的MyBatis框架與Spring框架整合中的映射器注入

    映射器注入方式可以將MyBatis與Spring映射好的XML文件實(shí)現(xiàn)配置共用,這里我們就來(lái)詳解Java的MyBatis框架與Spring框架整合中的映射器注入:
    2016-06-06
  • 深入理解Maven環(huán)境搭建和介紹

    深入理解Maven環(huán)境搭建和介紹

    這篇文章主要介紹了深入理解Maven環(huán)境搭建和介紹,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • java配置文件取值的多種方式總結(jié)

    java配置文件取值的多種方式總結(jié)

    這篇文章主要為大家詳細(xì)介紹了java配置文件取值的多種方式,包括一般項(xiàng)目,國(guó)際化項(xiàng)目,springboot項(xiàng)目,文中的示例代碼講解詳細(xì),需要的可以參考下
    2023-11-11
  • Java 隨機(jī)生成驗(yàn)證碼(支持大小寫字母、數(shù)字、隨機(jī)字體)的實(shí)例

    Java 隨機(jī)生成驗(yàn)證碼(支持大小寫字母、數(shù)字、隨機(jī)字體)的實(shí)例

    java隨機(jī)產(chǎn)生驗(yàn)證碼,可以隨機(jī)生成數(shù)字、大寫字母、小寫字母。還可以隨機(jī)生成文字字體、及大小。在圖片上面可能字體都不不同、大小不等
    2013-05-05

最新評(píng)論

金山区| 贡觉县| 锡林浩特市| 霍林郭勒市| 汉阴县| 通道| 汉中市| 崇仁县| 交口县| 疏附县| 永修县| 新营市| 响水县| 广西| 方城县| 遵化市| 临潭县| 松潘县| 沙坪坝区| 民勤县| 嘉鱼县| 杨浦区| 康马县| 阳城县| 祁连县| 三河市| 秦皇岛市| 新乐市| 景谷| 庆安县| 宁津县| 饶阳县| 涞水县| 玛多县| 凤城市| 靖边县| 灌南县| 滕州市| 新津县| 玉门市| 邹城市|