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

SpringBoot注解@EnableScheduling定時任務(wù)詳細(xì)解析

 更新時間:2024年01月25日 09:55:15   作者:暴走的山交  
這篇文章主要介紹了SpringBoot注解@EnableScheduling定時任務(wù)詳細(xì)解析,@EnableScheduling 開啟對定時任務(wù)的支持,啟動類里面使用@EnableScheduling 注解開啟功能,自動掃描,需要的朋友可以參考下

一、定時任務(wù)作用?

定時任務(wù)相當(dāng)于鬧鐘 在什么時間做什么事情(執(zhí)行什么命令/腳本)

參數(shù):

@EnableScheduling 開啟對定時任務(wù)的支持

其中Scheduled注解中有以下幾個參數(shù):

1.cron是設(shè)置定時執(zhí)行的表達(dá)式,如 0 0/5 ?每隔五分鐘執(zhí)行一次 秒 分 時 天 月

2.zone表示執(zhí)行時間的時區(qū)

3.fixedDelay 和fixedDelayString 表示一個固定延遲時間執(zhí)行,上個任務(wù)完成后,延遲多長時間執(zhí)行

4.fixedRate 和fixedRateString表示一個固定頻率執(zhí)行,上個任務(wù)開始后,多長時間后開始執(zhí)行

5.initialDelay 和initialDelayString表示一個初始延遲時間,第一次被調(diào)用前延遲的時間

二、舉例說明

1、pom.xml中導(dǎo)入必要的依賴:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
</parent>

<dependencies>
<!-- SpringBoot 核心組件 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

2、寫一個springboot的啟動類:

啟動類里面使用@EnableScheduling 注解開啟功能,自動掃描

@SpringBootApplication
@EnableScheduling //開啟定時任務(wù)
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}

3、新建一個Job類:

  • 要在任務(wù)的類上寫@Component
  • 要在任務(wù)方法上寫@Scheduled
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * @ClassName Jobs
 * @Author jeffrey
 * @Description Jobs
 **/
@Component
public class Jobs {
    //表示方法執(zhí)行完成后5秒
    @Scheduled(fixedDelay = 5000)
    public void fixedDelayJob() throws InterruptedException {
        System.out.println("fixedDelay 每隔5秒" + new Date());
    }
    //表示每隔3秒
    @Scheduled(fixedRate = 3000)
    public void fixedRateJob() {
        System.out.println("fixedRate 每隔3秒" + new Date());
    }
    //表示每天8時30分0秒執(zhí)行
    @Scheduled(cron = "0 0,30 0,8 ? * ? ")
    public void cronJob() {
        System.out.println(new Date() + " ...>>cron....");
    }
}

執(zhí)行結(jié)果如下:

fixedRate 每隔3秒Thu Jun 20 20:26:41 CST 2019
fixedDelay 每隔5秒Thu Jun 20 20:26:43 CST 2019
fixedRate 每隔3秒Thu Jun 20 20:26:44 CST 2019
fixedDelay 每隔5秒Thu Jun 20 20:26:48 CST 2019

三、總結(jié)

  • fixedDelay和fixedRate,單位是毫秒,這里這里就是5秒和3秒,它們的區(qū)別就是:fixedRate就是每多次分鐘一次,不論你業(yè)務(wù)執(zhí)行花費(fèi)了多少時間。我都是1分鐘執(zhí)行1次,而fixedDelay是當(dāng)任務(wù)執(zhí)行完畢后1分鐘在執(zhí)行。所以根據(jù)實(shí)際業(yè)務(wù)不同,我們會選擇不同的方式。
  • cron表達(dá)式:比如你要設(shè)置每天什么時候執(zhí)行,就可以用它
  • cron表達(dá)式,有專門的語法,而且感覺有點(diǎn)繞人,不過簡單來說,大家記住一些常用的用法即可,特殊的語法可以單獨(dú)去查。
  • cron一共有7位,但是最后一位是年,可以留空,所以我們可以寫6位:
  • 第一位,表示秒,取值0-59
  • 第二位,表示分,取值0-59
  • 第三位,表示小時,取值0-23
  • 第四位,日期天/日,取值1-31
  • 第五位,日期月份,取值1-12
  • 第六位,星期,取值1-7,星期一,星期二...,注:不是第1周,第二周的意思
  • 另外:1表示星期天,2表示星期一。
  • 第7為,年份,可以留空,取值1970-2099

cron中,還有一些特殊的符號,含義如下:

  • (*)星號:可以理解為每的意思,每秒,每分,每天,每月,每年...
  • (?)問號:問號只能出現(xiàn)在日期和星期這兩個位置。
  • (-)減號:表達(dá)一個范圍,如在小時字段中使用“10-12”,則表示從10到12點(diǎn),即10,11,12
  • (,)逗號:表達(dá)一個列表值,如在星期字段中使用“1,2,4”,則表示星期一,星期二,星期四
  • (/)斜杠:如:x/y,x是開始值,y是步長,比如在第一位(秒) 0/15就是,從0秒開始,每15秒,最后就是0,15,30,45,60    另:*/y,等同于0/y

下面列舉幾個例子供大家來驗(yàn)證:

  • 0 0 3 * * ?     每天3點(diǎn)執(zhí)行
  • 0 5 3 * * ?     每天3點(diǎn)5分執(zhí)行
  • 0 5 3 ? * *     每天3點(diǎn)5分執(zhí)行,與上面作用相同
  • 0 5/10 3 * * ?  每天3點(diǎn)的 5分,15分,25分,35分,45分,55分這幾個時間點(diǎn)執(zhí)行
  • 0 10 3 ? * 1    每周星期天,3點(diǎn)10分 執(zhí)行,注:1表示星期天    
  • 0 10 3 ? * 1#3  每個月的第三個星期,星期天 執(zhí)行,#號只能出現(xiàn)在星期的位置

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

相關(guān)文章

  • Java編程實(shí)現(xiàn)打地鼠文字游戲?qū)嵗a

    Java編程實(shí)現(xiàn)打地鼠文字游戲?qū)嵗a

    這篇文章主要介紹了Java編程實(shí)現(xiàn)打地鼠文字游戲?qū)嵗a,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-11-11
  • SpringSecurity詳解整合JWT實(shí)現(xiàn)全過程

    SpringSecurity詳解整合JWT實(shí)現(xiàn)全過程

    JWT作為一個開放的標(biāo)準(zhǔn)(?RFC?7519?),定義了一種簡潔的,自包含的方法用于通信雙方之間以Json對象的形式安全的傳遞信息。接下來通過本文給大家介紹springSecurity+jwt實(shí)現(xiàn)互踢功能,需要的朋友可以參考下
    2022-07-07
  • java.Net.UnknownHostException異常處理問題解決

    java.Net.UnknownHostException異常處理問題解決

    這篇文章主要介紹了java.Net.UnknownHostException異常處理方法,問題原因是在系統(tǒng)的?/etc/Hostname中配置了主機(jī)名,而在/etc/hosts文件中沒有相應(yīng)的配置,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-03-03
  • 3分鐘純 Java 注解搭個管理系統(tǒng)的示例代碼

    3分鐘純 Java 注解搭個管理系統(tǒng)的示例代碼

    這篇文章主要介紹了3分鐘純 Java 注解搭個管理系統(tǒng)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 2020最新版SSM框架整合教程

    2020最新版SSM框架整合教程

    這篇文章主要介紹了2020最新版SSM框架整合教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Springboot如何去掉URL后面的jsessionid

    Springboot如何去掉URL后面的jsessionid

    這篇文章主要介紹了Springboot如何去掉URL后面的jsessionid,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 使用Java增刪改查數(shù)據(jù)庫的操作方法

    使用Java增刪改查數(shù)據(jù)庫的操作方法

    這篇文章主要介紹了使用Java增刪改查數(shù)據(jù)庫的操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Java中BigDecimal的舍入模式解析(RoundingMode)

    Java中BigDecimal的舍入模式解析(RoundingMode)

    這篇文章主要介紹了Java中BigDecimal的舍入模式解析(RoundingMode),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 解決SpringBoot中使用@Async注解失效的問題

    解決SpringBoot中使用@Async注解失效的問題

    這篇文章主要介紹了解決SpringBoot中使用@Async注解失效的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java秒殺系統(tǒng)常見問題庫存超賣解決實(shí)例分析

    java秒殺系統(tǒng)常見問題庫存超賣解決實(shí)例分析

    這篇文章主要為大家介紹了java秒殺系統(tǒng)常見問題庫存超賣解決實(shí)例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評論

汉寿县| 堆龙德庆县| 珲春市| 正镶白旗| 台江县| 哈巴河县| 星子县| 云和县| 昔阳县| 稷山县| 镶黄旗| 苍南县| 曲麻莱县| 扎赉特旗| 民丰县| 汕头市| 习水县| 靖安县| 南宫市| 遂宁市| 瓮安县| 龙南县| 措勤县| 平陆县| 昌乐县| 洞口县| 通州市| 新化县| 普洱| 鹿邑县| 公安县| 清原| 灵寿县| 临城县| 阿拉善左旗| 五指山市| 宣武区| 青铜峡市| 拉孜县| 牟定县| 苍山县|