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

Spring定時(shí)任務(wù)注解@Scheduled詳解

 更新時(shí)間:2023年09月25日 10:21:56   作者:至學(xué)者  
這篇文章主要介紹了Spring定時(shí)任務(wù)注解@Scheduled詳解,@Scheduled注解是包org.springframework.scheduling.annotation中的一個(gè)注解,主要是用來(lái)開(kāi)啟定時(shí)任務(wù),本文提供了部分實(shí)現(xiàn)代碼與思路,需要的朋友可以參考下

一 概述

@Scheduled注解是包org.springframework.scheduling.annotation中的一個(gè)注解,主要是用來(lái)開(kāi)啟定時(shí)任務(wù)。

二 @Scheduled注解的源碼

@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(Schedules.class)
public @interface Scheduled {
    String CRON_DISABLED = "-";
    String cron() default "";
    String zone() default "";
    long fixedDelay() default -1L;
    String fixedDelayString() default "";
    long fixedRate() default -1L;
    String fixedRateString() default "";
    long initialDelay() default -1L;
    String initialDelayString() default "";
}

根據(jù)注解源碼可知,該注解是方法聲明式注解和注解類(lèi)型聲明式注解。

三 @Scheduled注解中的主要參數(shù)

fixedDelay

@Scheduled(fixedDelay = 5000)
//將一個(gè)方法以上一個(gè)調(diào)用任務(wù)的完成之間為基準(zhǔn),在上一個(gè)任務(wù)完成之后,5s后再執(zhí)行該方法。
public void doSomething() { 
// something that should execute periodically
}

fixedRate

@Scheduled(fixedRate = 5000)
//將一個(gè)方法以固定速率5s調(diào)用一次執(zhí)行,這個(gè)周期是一個(gè)任務(wù)開(kāi)始時(shí)間為基準(zhǔn),從上一個(gè)任務(wù)開(kāi)始執(zhí)行后5秒后再調(diào)用一次。
public void doSomething() { 
// something that should execute periodically
}

上述兩個(gè)重要的參數(shù)只是提了簡(jiǎn)單的定時(shí)調(diào)用規(guī)則,當(dāng)需要更為復(fù)雜的調(diào)用時(shí)我們可以通過(guò)參數(shù)cron進(jìn)行設(shè)置。

四 復(fù)雜調(diào)度之參數(shù)cron

我們可以通過(guò)參數(shù)corn來(lái)編寫(xiě)表達(dá)式,然后通過(guò)表達(dá)式來(lái)配置任務(wù)的執(zhí)行時(shí)間。其中每個(gè)corn表達(dá)式中至少會(huì)存在6個(gè)用空格分隔的時(shí)間元素,它們順序依次為:

  • 秒(0~59)
  • 分鐘(0~59)
  • 小時(shí)(0~23)
  • 天(0~31)
  • 月(0~11)
  • 星期(1~7或者SUN-SAT[SUN,MON,TUE,WED,THU,F(xiàn)RI,SAT])
  • 年份(1970~2099)

Seconds Minutes Hours DayofMonth Month DayofWeek

Cron格式中每個(gè)時(shí)間元素的說(shuō)明

時(shí)間元素可出現(xiàn)的字符有效數(shù)值范圍
Seconds,- * /0~59
Minutes,- * /0~59
Hours,- * /0~23
DayofMonth,- * / ? L W0~31
Month,- * /1~12
DayofWeek,- * / ? L #1~7或者SUN~SAT

Cron格式中特殊字符說(shuō)明

字符作用舉例
列出枚舉值在Minutes域中使用6,8,則表示6分鐘和8分鐘各觸發(fā)一次
-表示觸發(fā)的范圍值在Minutes域中使用6-8,則表示從6分鐘到8分鐘之間每分鐘觸發(fā)一次
*匹配任意值在Minutes域中使用*,則表示每分鐘都會(huì)觸發(fā)一次
/起始時(shí)間開(kāi)始觸發(fā),每隔固定時(shí)間觸發(fā)一次在Minutes域中使用6/8,表示5分鐘觸發(fā)一次,每10分鐘再觸發(fā)一次
在DayofMonth和DayofWeek中,用于匹配任意值在DayofMonth域使用?,表示每天都觸發(fā)一次
#在DayofMonth中,確定第幾個(gè)星期幾7#3表示第三個(gè)星期六
L表示最后在DayofWeek中使用6L,表示在最后一個(gè)星期五觸發(fā)
W表示有效工作日(周一到周五)在DayofMonth使用5W,如果5日是星期六,則將最近的工作日4日觸發(fā)一次

注意:LW是可以連用,表示在某個(gè)月最后一個(gè)工作日,#是用來(lái)確定每個(gè)月第幾個(gè)星期幾的,只能出現(xiàn)在DayofMonth域中。

常用的Cron表達(dá)式

每隔5秒執(zhí)行一次:"*/5 * * * * ?"
每隔1分鐘執(zhí)行一次:"0 */1 * * * ?"
每天23點(diǎn)執(zhí)行一次:"0 0 23 * * ?"
每天凌晨1點(diǎn)執(zhí)行一次:"0 0 1 * * ?"
每月1號(hào)凌晨1點(diǎn)執(zhí)行一次:"0 0 1 1 * ?"
每月最后一天23點(diǎn)執(zhí)行一次:"0 0 23 L * ?"
每周星期天凌晨1點(diǎn)實(shí)行一次:"0 0 1 ? * L"
在26分、29分、33分執(zhí)行一次:"0 26,29,33 * * * ?"
每天的0點(diǎn)、13點(diǎn)、18點(diǎn)、21點(diǎn)都執(zhí)行一次:"0 0 0,13,18,21 * * ?"
每天上午10點(diǎn),下午2點(diǎn),4點(diǎn):"0 0 10,14,16 * * ?"
朝九晚五工作時(shí)間內(nèi)每半小時(shí):"0 0/30 9-17 * * ?"
表示每個(gè)星期三中午12點(diǎn):"0 0 12 ? * WED" 
每天中午12點(diǎn)觸發(fā):"0 0 12 * * ?"
每天上午10:15觸發(fā):"0 15 10 ? * *"
每天上午10:15觸發(fā):"0 15 10 * * ?"
每天上午10:15觸發(fā):"0 15 10 * * ? *"
2005年的每天上午10:15觸發(fā): "0 15 10 * * ? 2005"
在每天下午2點(diǎn)到下午2:59期間的每1分鐘觸發(fā): "0 * 14 * * ?"
在每天下午2點(diǎn)到下午2:55期間的每5分鐘觸發(fā): "0 0/5 14 * * ?"
在每天下午2點(diǎn)到2:55期間和下午6點(diǎn)到6:55期間的每5分鐘觸發(fā): "0 0/5 14,18 * * ?"
在每天下午2點(diǎn)到下午2:05期間的每1分鐘觸發(fā): "0 0-5 14 * * ?" 
每年三月的星期三的下午2:10和2:44觸發(fā): "0 10,44 14 ? 3 WED" 
周一至周五的上午10:15觸發(fā): "0 15 10 ? * MON-FRI"
每月15日上午10:15觸發(fā): "0 15 10 15 * ?" 
每月最后一日的上午10:15觸發(fā): "0 15 10 L * ?"
每月的最后一個(gè)星期五上午10:15觸發(fā): "0 15 10 ? * 6L"
2002年至2005年的每月的最后一個(gè)星期五上午10:15觸發(fā): "0 15 10 ? * 6L 2002-2005"

到此這篇關(guān)于Spring定時(shí)任務(wù)注解@Scheduled詳解的文章就介紹到這了,更多相關(guān)Spring的@Scheduled內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用泛型Class實(shí)現(xiàn)消除模板代碼

    Java使用泛型Class實(shí)現(xiàn)消除模板代碼

    Class作為實(shí)現(xiàn)反射功能的類(lèi),在開(kāi)發(fā)中經(jīng)常會(huì)用到,然而,當(dāng)Class遇上泛型后,事情就變得不是那么簡(jiǎn)單了,所以本文就來(lái)講講Java如何使用泛型Class實(shí)現(xiàn)消除模板代碼,需要的可以參考一下
    2023-06-06
  • 在Spring中如何使用動(dòng)態(tài)代理?

    在Spring中如何使用動(dòng)態(tài)代理?

    上篇文章記錄自定義切面,下邊記錄使用注解來(lái)編寫(xiě)自定義切面,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 解決Maven項(xiàng)目中 Invalid bound statement 無(wú)效的綁定問(wèn)題

    解決Maven項(xiàng)目中 Invalid bound statement 無(wú)效的綁定問(wèn)題

    這篇文章主要介紹了解決Maven項(xiàng)目中 Invalid bound statement 無(wú)效的綁定問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳解Spring集成Redis的兩種方式

    詳解Spring集成Redis的兩種方式

    在工作中,我們用到分布式緩存的時(shí)候,第一選擇就是Redis,今天介紹一下SpringBoot如何集成Redis的,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • 深入淺析springsecurity入門(mén)登錄授權(quán)

    深入淺析springsecurity入門(mén)登錄授權(quán)

    SpringSecurity為我們提供了基于注解的權(quán)限控制方案,這也是我們項(xiàng)目中主要采用的方式,我們可以使用注解去指定訪問(wèn)對(duì)應(yīng)的資源所需的權(quán)限,這篇文章主要介紹了springsecurity入門(mén)登錄授權(quán),需要的朋友可以參考下
    2024-05-05
  • SpringBoot基于AOP的本地/遠(yuǎn)程調(diào)用動(dòng)態(tài)路由實(shí)踐指南

    SpringBoot基于AOP的本地/遠(yuǎn)程調(diào)用動(dòng)態(tài)路由實(shí)踐指南

    這篇文章主要為大家詳細(xì)介紹了SpringBoot基于AOP的本地/遠(yuǎn)程調(diào)用動(dòng)態(tài)路由實(shí)踐指南,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-07-07
  • jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線上問(wèn)題及處理方案

    jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線上問(wèn)題及處理方案

    這篇文章主要介紹了jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線上問(wèn)題及處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • SpringBoot整合FastJson過(guò)程解析

    SpringBoot整合FastJson過(guò)程解析

    這篇文章主要介紹了SpringBoot整合FastJson過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java運(yùn)算符易混點(diǎn)之&&、||、&、|與?到底差在哪詳解

    Java運(yùn)算符易混點(diǎn)之&&、||、&、|與?到底差在哪詳解

    這篇文章主要介紹了Java運(yùn)算符易混點(diǎn)之&&、||、&、|與?到底差在哪的相關(guān)資料,強(qiáng)調(diào)在條件判斷和位運(yùn)算場(chǎng)景下的正確使用法,并提供示例代碼幫助理解大家理解,需要的朋友可以參考下
    2026-06-06
  • java LinkedList的實(shí)例詳解

    java LinkedList的實(shí)例詳解

    這篇文章主要介紹了java LinkedList的實(shí)例詳解的相關(guān)資料,通過(guò)本文希望大家能徹底了解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

周口市| 通江县| 璧山县| 定州市| 密云县| 和静县| 康定县| 武功县| 鹤峰县| 芷江| 确山县| 遵义县| 德昌县| 凉城县| 开封县| 岳池县| 沙坪坝区| 平湖市| 恩施市| 卢氏县| 蓝山县| 绥阳县| 莱西市| 玉环县| 镇江市| 故城县| 贵南县| 武山县| 健康| 陈巴尔虎旗| 东平县| 乌海市| 巴南区| 金平| 雅安市| 东乌| 诸城市| 海林市| 沛县| 桑日县| 太仓市|