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

springboot實(shí)現(xiàn)定時(shí)任務(wù)@Scheduled方式

 更新時(shí)間:2024年07月10日 10:16:47   作者:平平常常一般牛  
這篇文章主要介紹了springboot實(shí)現(xiàn)定時(shí)任務(wù)@Scheduled方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Scheduled

只適合處理簡(jiǎn)單的計(jì)劃任務(wù),不能處理分布式計(jì)劃任務(wù)。

優(yōu)勢(shì):是spring框架提供的計(jì)劃任務(wù),開發(fā)簡(jiǎn)單,執(zhí)行效率比較高。

且在計(jì)劃任務(wù)數(shù)量太多的時(shí)候,可能出現(xiàn)阻塞,崩潰,延遲啟動(dòng)等問題

  • 啟動(dòng)類中加入@EnableScheduling
  • 要開啟定時(shí)任務(wù)的方法上加入@Scheduled
  • 設(shè)置任務(wù)執(zhí)行的時(shí)間間隔

@EnableScheduling注解的作用是啟用Spring的計(jì)劃任務(wù)執(zhí)行能力。

注意:

@EnableScheduling只應(yīng)用于它的本地應(yīng)用程序上下文,允許在不同級(jí)別選擇性地調(diào)度bean。

@Scheduled標(biāo)記要調(diào)度的方法的注釋。必須指定cron、fixedDelay或fixedRate屬性中的一個(gè)。

帶注釋的方法必須沒有參數(shù)。 它通常有一個(gè)void返回類型; 如果不是,則通過調(diào)度器調(diào)用返回值時(shí)將被忽略。

比較常用的有兩種方式去設(shè)置時(shí)間間隔,fixedRate和cron表達(dá)式

第一種:設(shè)置時(shí)間間隔的方式是fixedRate屬性

這種方式比較簡(jiǎn)單,只適用于對(duì)時(shí)間掌控不是很高的情況下,例如,每分鐘執(zhí)行一次,部分白天還是黑夜。

@Scheduled(fixedRate = 301000)

  • 表示每30秒執(zhí)行一次。
  • 這個(gè)也是按照時(shí)間進(jìn)制來的,1000代表是毫秒進(jìn)制30代表就是30秒,若是想每小時(shí)執(zhí)行一次也是可以繼續(xù)16060*1000。
	@Scheduled(fixedRate = 30*1000)
    public void he(){
        System.out.println("女神吃藥"+ DateFormat.getDateTimeInstance().format(new Date()));
    }

第二種:cron表達(dá)式

	@Scheduled(cron = "* * 9-22 * * ?")
    public void show(){
        System.out.println("女神喝水"+ DateFormat.getDateTimeInstance().format(new Date()));
    }

上述cron表達(dá)式代表的是:我每個(gè)月 每天 9-22時(shí) 的每分每秒都執(zhí)行一次。

cron表達(dá)式的時(shí)間格式是cron= “秒 分鐘 小時(shí) 天 月 星期”

異步多線程定時(shí)任務(wù)

@Scheduled 在計(jì)劃任務(wù)數(shù)量太多的時(shí)候,可能出現(xiàn)阻塞,崩潰,延遲啟動(dòng)等問題

為了解決這個(gè)問題,我們可以采用異步多線程的方式,利用多個(gè)線程來管理定時(shí)任務(wù),不讓任務(wù)丟失

  • Application啟動(dòng)類中加入開啟異步操作的注解 @EnableAsync
  • 在要異步開啟定時(shí)任務(wù)的方法上加入異步注解 @Async

這樣就不會(huì)一個(gè)任務(wù)沒有執(zhí)行完畢,而阻塞另一個(gè)任務(wù)的執(zhí)行

  • @EnableAsync 啟用Spring的異步方法執(zhí)行功能
  • @Async 將方法標(biāo)記為異步執(zhí)行候選方法的注釋。也可以在類型級(jí)別使用,在這種情況下,所有類型的方法都被認(rèn)為是異步的。但是請(qǐng)注意,@Configuration類中聲明的方法不支持 @Async 。

總結(jié)

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

相關(guān)文章

  • 解決 java: 程序包c(diǎn)om.baomidou.mybatisplus.annotation不存在

    解決 java: 程序包c(diǎn)om.baomidou.mybatisplus.annotation不存在

    在使用Java編寫程序時(shí),經(jīng)常會(huì)遇到各種編譯錯(cuò)誤或運(yùn)行時(shí)異常,本文主要介紹了解決java:程序包c(diǎn)om.baomidou.mybatisplus.annotation不存在,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • SpringBoot詳解如何進(jìn)行整合Druid數(shù)據(jù)源

    SpringBoot詳解如何進(jìn)行整合Druid數(shù)據(jù)源

    Druid是阿里開發(fā)的一款開源的數(shù)據(jù)源,被很多人認(rèn)為是Java語言中最好的數(shù)據(jù)庫連接池,本文主要介紹了SpringBoot整合Druid數(shù)據(jù)源的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 深入理解JVM垃圾回收算法

    深入理解JVM垃圾回收算法

    我們都知道java語言與C語言最大的區(qū)別就是內(nèi)存自動(dòng)回收,那么JVM是怎么控制內(nèi)存回收的,這篇文章將介紹JVM垃圾回收的幾種算法,從而了解內(nèi)存回收的基本原理
    2021-06-06
  • @Value如何設(shè)置默認(rèn)值

    @Value如何設(shè)置默認(rèn)值

    這篇文章主要介紹了@Value如何設(shè)置默認(rèn)值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 解決springboot項(xiàng)目上傳文件出現(xiàn)臨時(shí)文件目錄為空的問題

    解決springboot項(xiàng)目上傳文件出現(xiàn)臨時(shí)文件目錄為空的問題

    這篇文章主要介紹了解決springboot項(xiàng)目上傳文件出現(xiàn)臨時(shí)文件目錄為空的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 如何在Spring WebFlux的任何地方獲取Request對(duì)象

    如何在Spring WebFlux的任何地方獲取Request對(duì)象

    這篇文章主要介紹了如何在Spring WebFlux的任何地方獲取Request對(duì)象,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2021-01-01
  • 深度思考JDK8中日期類型該如何使用詳解

    深度思考JDK8中日期類型該如何使用詳解

    這篇文章主要介紹了JDK8中日期類型該如何使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Spring切面優(yōu)先級(jí)與基于xml的AOP實(shí)現(xiàn)方法詳解

    Spring切面優(yōu)先級(jí)與基于xml的AOP實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Spring切面的優(yōu)先級(jí)與基于xml的AOP的詳細(xì)步驟,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • JAVA集合框架專題

    JAVA集合框架專題

    這篇文章主要介紹了JAVA集合框架的相關(guān)知識(shí),文中講解非常細(xì)致,幫助大家更好的理解學(xué)習(xí)JAVA框架,感興趣的朋友快來了解下
    2020-06-06
  • Java中的泛型

    Java中的泛型

    這篇文章主要介紹為何要泛型,如何使用泛型,自定義泛型的方法,泛型類的子類等多方面介紹了JAVA中的泛型,需要的小伙伴請(qǐng)看下文
    2021-08-08

最新評(píng)論