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

SpringBoot整合定時(shí)任務(wù)的方法

 更新時(shí)間:2024年05月11日 15:24:17   作者:小秦學(xué)加瓦chen  
通過(guò) ThreadPoolExecutor 可以實(shí)現(xiàn)各式各樣的自定義線程池,而 ScheduledThreadPoolExecutor 類則在自定義線程池的基礎(chǔ)上增加了周期性執(zhí)行任務(wù)的功能,這篇文章主要介紹了SpringBoot整合定時(shí)任務(wù),需要的朋友可以參考下

一、Scheduled原理

JUC 包中的 Executor 架構(gòu)帶來(lái)了線程的創(chuàng)建與執(zhí)行的分離。Executor 的繼承者ExecutorService 下面衍生出了兩個(gè)重要的實(shí)現(xiàn)類,他們分別是
1、ThreadPoolExecutor 線程池
2、ScheduledThreadPoolExecutor 支持周期性任務(wù)的線程池
通過(guò) ThreadPoolExecutor 可以實(shí)現(xiàn)各式各樣的自定義線程池,而 ScheduledThreadPoolExecutor 類則在自定義線程池的基礎(chǔ)上增加了周期性執(zhí)行任務(wù)的功能

二、導(dǎo)入依賴

springboot3之后自帶定時(shí)任務(wù)器,所以只需要引用springboot啟動(dòng)器就可以

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

三、編寫定時(shí)任務(wù)

定時(shí)任務(wù)所在的類需要是spring的組件,所以在定時(shí)任務(wù)類上需要加上@Component注解,并且在定時(shí)任務(wù)方法上加上@Scheduled注解,聲明這是一個(gè)定時(shí)任務(wù)。(這里需要注意的是@Scheduled注解里面的cron表達(dá)式,后面會(huì)詳細(xì)介紹)

@Component
public class MySchduled {
    private int count = 0;
    @Scheduled(cron = "0/3 * * * * ? ")
    public void print(){
        System.out.println("hello:" + count++);
    }
}

四、Cron表達(dá)式

Cron表達(dá)式是一種用于指定定時(shí)任務(wù)執(zhí)行時(shí)間的字符串,它由六個(gè)或七個(gè)字段組成,分別表示秒、分、時(shí)、日期、月份、星期和年份(可選)。每個(gè)字段可以是一個(gè)具體的值、一個(gè)范圍、一個(gè)遞增步長(zhǎng),或者使用特殊字符。12

  • 星號(hào)(*):在某個(gè)字段中使用時(shí),表示該字段可以取該字段的所有可能值。例如,在分鐘字段中使用 * 表示每分鐘。
  • 問(wèn)號(hào)(?):只在日期和星期字段中使用,通常作為無(wú)意義的值,相當(dāng)于占位符。
  • 減號(hào)(-):表示一個(gè)范圍,例如在小時(shí)字段中使用“10-12”表示從10點(diǎn)到12點(diǎn),即10、11、12點(diǎn)。
  • 逗號(hào)(,):表示一個(gè)列表值,例如在星期字段中使用“MON,WED,FRI”表示星期一、星期三和星期五。
  • 斜杠(/):表示一個(gè)等步長(zhǎng)序列,例如在分鐘字段中使用0/15表示從0秒開(kāi)始,每隔15秒觸發(fā)一次。
  • L:只在日期和星期字段中使用,代表“Last”的意思,在日期字段中表示這個(gè)月份的最后一天,在星期字段中表示星期六。
  • W:只能出現(xiàn)在日期字段里,是對(duì)前導(dǎo)日期的修飾,表示離該日期最近的工作日。

例如,上面我們使用的(0/3 * * * * ?)的意思就是每隔3秒執(zhí)行一次

網(wǎng)上有很多cron表達(dá)式在線生成器,可以在線生成,使用起來(lái)也比較方便

五、啟動(dòng)

啟動(dòng)定時(shí)任務(wù)掃描是非常重要的一步,沒(méi)啟動(dòng)的話定時(shí)任務(wù)不會(huì)執(zhí)行,啟動(dòng)定時(shí)任務(wù)需要在啟動(dòng)類或者配置類上添加@EnableScheduling注解,表示啟動(dòng)定時(shí)任務(wù)掃描

@SpringBootApplication
@MapperScan("com.zxc.mapper")
@EnableScheduling
@EnableAspectJAutoProxy
public class AuthApplication {
    public static void main(String[] args) {
        SpringApplication.run(AuthApplication.class,args);
    }
}

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

相關(guān)文章

  • SpringCloud服務(wù)注冊(cè)中心數(shù)據(jù)一致性問(wèn)題

    SpringCloud服務(wù)注冊(cè)中心數(shù)據(jù)一致性問(wèn)題

    這篇文章主要介紹了SpringCloud服務(wù)注冊(cè)中心數(shù)據(jù)一致性問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • Spring MVC的項(xiàng)目準(zhǔn)備和連接建立方法

    Spring MVC的項(xiàng)目準(zhǔn)備和連接建立方法

    SpringWebMVC是基于Servlet API的Web框架,屬于Spring框架的一部分,主要用于簡(jiǎn)化Web應(yīng)用程序的開(kāi)發(fā),SpringMVC通過(guò)控制器接收請(qǐng)求,使用模型處理數(shù)據(jù),并通過(guò)視圖展示結(jié)果,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • mybatis @Intercepts的用法解讀

    mybatis @Intercepts的用法解讀

    這篇文章主要介紹了mybatis @Intercepts的用法解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java中的CountDownLatch同步工具類使用解析

    Java中的CountDownLatch同步工具類使用解析

    這篇文章主要介紹了Java中的CountDownLatch使用解析,CountDownLatch初始化的時(shí)候必須指定一個(gè)count,await方法會(huì)一直阻塞直到調(diào)用countdown方法,count為0,當(dāng)count為0時(shí),所有的等待線程都會(huì)被釋放,需要的朋友可以參考下
    2023-12-12
  • SpringBoot實(shí)現(xiàn)單文件與多文件上傳

    SpringBoot實(shí)現(xiàn)單文件與多文件上傳

    本次例子不基于第三方存儲(chǔ)(如七牛云對(duì)象存儲(chǔ)、阿里云對(duì)象存儲(chǔ)、騰訊云對(duì)象存儲(chǔ)等),僅基于本地存儲(chǔ)。本文主要內(nèi)容如下:公共文件存儲(chǔ)代碼;單文件上傳代碼;多文件上傳代碼
    2021-05-05
  • C# log4net使用案例詳解

    C# log4net使用案例詳解

    這篇文章主要介紹了C# log4net使用案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java使用iTextPDF生成PDF文件的實(shí)現(xiàn)方法

    Java使用iTextPDF生成PDF文件的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java使用iTextPDF生成PDF文件的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 如何用Java實(shí)現(xiàn).env文件讀取敏感數(shù)據(jù)

    如何用Java實(shí)現(xiàn).env文件讀取敏感數(shù)據(jù)

    這篇文章主要介紹了如何用Java實(shí)現(xiàn).env文件讀取敏感數(shù)據(jù),并提供了一個(gè)自動(dòng)配置類EnvAutoConfiguration,common-env-starter-demo模塊展示了如何配置和啟動(dòng)一個(gè)簡(jiǎn)單的Spring Boot應(yīng)用程序,需要的朋友可以參考下
    2025-02-02
  • mybatis中<choose>標(biāo)簽的用法說(shuō)明

    mybatis中<choose>標(biāo)簽的用法說(shuō)明

    這篇文章主要介紹了mybatis中<choose>標(biāo)簽的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java線程池隊(duì)列LinkedTransferQueue示例詳解

    Java線程池隊(duì)列LinkedTransferQueue示例詳解

    這篇文章主要為大家介紹了Java線程池隊(duì)列LinkedTransferQueue示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12

最新評(píng)論

十堰市| 康定县| 大姚县| 陇南市| 双桥区| 滨海县| 鄯善县| 抚州市| 久治县| 安徽省| 乐业县| 兴海县| 舟山市| 固安县| 驻马店市| 贵州省| 沧源| 东港市| 淮阳县| 凯里市| 阜南县| 白城市| 昌图县| 繁昌县| 达孜县| 台南县| 商南县| 弥勒县| 舒兰市| 读书| 乡宁县| 朔州市| 博湖县| 西畴县| 喀喇沁旗| 房产| 琼结县| 靖宇县| 咸宁市| 铁岭市| 临沂市|