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

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

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

@Scheduled

只適合處理簡單的計劃任務,不能處理分布式計劃任務。

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

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

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

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

注意:

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

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

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

比較常用的有兩種方式去設置時間間隔,fixedRate和cron表達式

第一種:設置時間間隔的方式是fixedRate屬性

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

@Scheduled(fixedRate = 301000)

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

第二種:cron表達式

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

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

cron表達式的時間格式是cron= “秒 分鐘 小時 天 月 星期”

異步多線程定時任務

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

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

  • Application啟動類中加入開啟異步操作的注解 @EnableAsync
  • 在要異步開啟定時任務的方法上加入異步注解 @Async

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

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

總結

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

相關文章

  • springBoot使用mybatis-plus插件實現(xiàn)分頁過程

    springBoot使用mybatis-plus插件實現(xiàn)分頁過程

    本文介紹了MyBatisPlus的集成步驟,包括項目結構調(diào)整、pom.xml依賴添加、MyBatisPlusConfig配置文件創(chuàng)建與配置、具體代碼實現(xiàn)(controller、service、dao、xml)、SQL結果打印、自定義分頁等環(huán)節(jié),此經(jīng)驗總結供讀者參考學習
    2026-04-04
  • Java并發(fā)編程之原子變量與非阻塞同步機制

    Java并發(fā)編程之原子變量與非阻塞同步機制

    這篇文章主要介紹了Java并發(fā)編程之原子變量與非阻塞同步機制,本文講解了非阻塞算法、悲觀技術、樂觀技術、CAS操作、原子變量、性能比較:鎖與原子變量等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • SpringBoot?ApplicationContext接口深入分析

    SpringBoot?ApplicationContext接口深入分析

    ApplicationContext是Spring應用程序中的中央接口,由于繼承了多個組件,使得ApplicationContext擁有了許多Spring的核心功能,如獲取bean組件,注冊監(jiān)聽事件,加載資源文件等
    2022-11-11
  • 聊一聊concurrenthashmap的size方法原理

    聊一聊concurrenthashmap的size方法原理

    這篇文章主要介紹了concurrenthashmap的size方法原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java實現(xiàn)局域網(wǎng)IP地址掃描

    Java實現(xiàn)局域網(wǎng)IP地址掃描

    這篇文章主要為大家詳細介紹了Java實現(xiàn)局域網(wǎng)IP地址掃描,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java讀取DBF文件(GBK編碼)的方法

    Java讀取DBF文件(GBK編碼)的方法

    在Java開發(fā)中,有時需要讀取DBF(dBase文件)格式的數(shù)據(jù)文件,而這些文件通常采用GBK(簡體中文)編碼,本文將介紹如何使用Java讀取采用GBK編碼的DBF文件,需要的朋友可以參考下
    2024-11-11
  • Java聊天室之實現(xiàn)獲取Socket功能

    Java聊天室之實現(xiàn)獲取Socket功能

    這篇文章主要為大家詳細介紹了Java簡易聊天室之實現(xiàn)獲取遠程服務器和客戶機的IP地址和端口號功能,文中的示例代碼講解詳細,需要的可以了解一下
    2022-10-10
  • 詳解Java注解教程及自定義注解

    詳解Java注解教程及自定義注解

    這篇文章主要為大家詳細介紹了Java注解教程及自定義注解,幫助大家更好地學習Java注解,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Java實現(xiàn)并查集示例詳解

    Java實現(xiàn)并查集示例詳解

    這篇文章主要通過一個題目示例為大家詳細介紹Java如何實現(xiàn)并查集,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • mybatis plus saveOrUpdate實現(xiàn)有重復數(shù)據(jù)就更新,否則新增方式

    mybatis plus saveOrUpdate實現(xiàn)有重復數(shù)據(jù)就更新,否則新增方式

    這篇文章主要介紹了mybatis plus saveOrUpdate實現(xiàn)有重復數(shù)據(jù)就更新,否則新增方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

金寨县| 澄迈县| 陆河县| 台江县| 抚州市| 宜兴市| 连云港市| 嘉善县| 曲松县| 普格县| 三河市| 静乐县| 开远市| 集贤县| 呼和浩特市| 兴和县| 尖扎县| 玛曲县| 临城县| 扎赉特旗| 胶州市| 武乡县| 镇远县| 青浦区| 富宁县| 宽甸| 奎屯市| 英德市| 云安县| 朔州市| 宁国市| 吉安县| 海丰县| 吉安县| 东乌| 绥化市| 靖州| 海伦市| 房山区| 鸡泽县| 延庆县|