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

老生常談spring?boot中的定時(shí)任務(wù)

 更新時(shí)間:2024年05月21日 09:29:29   作者:Hanyta  
SpringBoot中的定時(shí)任務(wù)主要通過@Scheduled注解以及SchedulingConfigurer接口實(shí)現(xiàn),本文給大家介紹spring?boot中的定時(shí)任務(wù),感興趣的朋友跟隨小編一起看看吧
  • SpringBoot中的定時(shí)任務(wù)主要通過@Scheduled注解以及SchedulingConfigurer接口實(shí)現(xiàn)。

  • @Scheduled注解是Spring提供的一個(gè)注解,用于標(biāo)記方法作為定時(shí)任務(wù)執(zhí)行:配置方法在指定的時(shí)間間隔或時(shí)間點(diǎn)執(zhí)行,實(shí)現(xiàn)各種定時(shí)任務(wù)需求。
//在你需要定時(shí)的方法上加上@Scheduled注解,并用corn表達(dá)式指定如何定時(shí),下式表達(dá)了每隔15秒執(zhí)行一次方法
@Scheduled(cron = "*/15 * * * * ?")
public void hello() {
    System.out.println("hello執(zhí)行了");
}
  • 但是要記得在啟動(dòng)類上開啟定時(shí)功能:@EnableScheduling // 開啟定時(shí)任務(wù)功能

  • @Scheduled任務(wù)在單線程環(huán)境下執(zhí)行,可能出現(xiàn)任務(wù)堆積的情況,尤其在任務(wù)量大或任務(wù)執(zhí)行時(shí)間長(zhǎng)的情況下,而且這些任務(wù)可能會(huì)變得混亂和難以管理。定時(shí)任務(wù)的配置分散在各個(gè)任務(wù)方法中,不利于統(tǒng)一管理和維護(hù)。對(duì)于需要根據(jù)動(dòng)態(tài)條件創(chuàng)建或銷毀定時(shí)任務(wù)的情況,@Scheduled注解也無(wú)法滿足需求。

  • 使用SchedulingConfigurer接口來動(dòng)態(tài)地創(chuàng)建和管理定時(shí)任務(wù)。通過實(shí)現(xiàn) SchedulingConfigurer 接口,我們可以編寫代碼來動(dòng)態(tài)地注冊(cè)和管理定時(shí)任務(wù),從而實(shí)現(xiàn)靈活的任務(wù)調(diào)度需求。SchedulingConfigurer 接口是 Spring 提供的一個(gè)用于定時(shí)任務(wù)配置的擴(kuò)展接口,它允許開發(fā)人員更細(xì)粒度地控制定時(shí)任務(wù)的執(zhí)行。通過實(shí)現(xiàn)SchedulingConfigurer接口,可以自定義任務(wù)調(diào)度器(TaskScheduler),配置線程池等參數(shù),以滿足不同場(chǎng)景下的定時(shí)任務(wù)需求。
@Configuration  
@EnableScheduling  
public class CustomSchedulingConfig implements SchedulingConfigurer {
	@Override  
	public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
		// 定時(shí)任務(wù)邏輯
	}
}
  • 通過實(shí)現(xiàn)SchedulingConfigurer接口,重寫configureTasks方法,自定義任務(wù)調(diào)度器的配置。此外我們還可以配置線程池,用于控制定時(shí)任務(wù)執(zhí)行時(shí)的線程數(shù)量、并發(fā)性等參數(shù)。
@Bean(destroyMethod = "shutdown")  
public ThreadPoolTaskScheduler threadPoolTaskScheduler() {  
    ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();  
    scheduler.setPoolSize(5); // 設(shè)置線程池大小  
    scheduler.setThreadNamePrefix("scheduled-task-"); // 設(shè)置線程名稱前綴  
    scheduler.setAwaitTerminationSeconds(60); // 設(shè)置終止等待時(shí)間  
	// 設(shè)置處理拒絕執(zhí)行的任務(wù)異常
	scheduler.setRejectedExecutionHandler((r, executor) -> log.error("Task rejected", r));
	// 處理定時(shí)任務(wù)執(zhí)行過程中拋出的未捕獲異常
	scheduler.setErrorHandler(e -> log.error("Error in scheduled task", e));
    return scheduler;  
}
//然后將自定義的ThreadPoolTaskScheduler設(shè)置到ScheduledTaskRegistrar中去:
@Override  
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
	// 定時(shí)任務(wù)邏輯
	taskRegistrar.setTaskScheduler(threadPoolTaskScheduler());
}
//通過SchedulingConfigurer接口,可以更靈活地配置任務(wù)調(diào)度器和定時(shí)任務(wù)的執(zhí)行規(guī)則,比如動(dòng)態(tài)注冊(cè)定時(shí)任務(wù)、動(dòng)態(tài)修改任務(wù)執(zhí)行規(guī)則等。

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

相關(guān)文章

  • javaCV開發(fā)詳解之推流器和錄制器的實(shí)現(xiàn)

    javaCV開發(fā)詳解之推流器和錄制器的實(shí)現(xiàn)

    這篇文章主要介紹了javaCV開發(fā)詳解之推流器和錄制器實(shí)現(xiàn),對(duì)JavaCV感興趣的同學(xué),可以參考下
    2021-04-04
  • springboot項(xiàng)目中引入本地依賴jar包并打包到lib文件夾中

    springboot項(xiàng)目中引入本地依賴jar包并打包到lib文件夾中

    這篇文章主要介紹了springboot項(xiàng)目中引入本地依賴jar包,如何打包到lib文件夾中,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 老生常談foreach(增強(qiáng)for循環(huán))和for的區(qū)別

    老生常談foreach(增強(qiáng)for循環(huán))和for的區(qū)別

    下面小編就為大家?guī)硪黄仙U刦oreach(增強(qiáng)for循環(huán))和for的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • 使用java springboot設(shè)計(jì)實(shí)現(xiàn)的圖書管理系統(tǒng)(建議收藏)

    使用java springboot設(shè)計(jì)實(shí)現(xiàn)的圖書管理系統(tǒng)(建議收藏)

    這篇文章主要介紹了使用java springboot設(shè)計(jì)實(shí)現(xiàn)的圖書管理系統(tǒng),包含了整個(gè)的開發(fā)過程,以及過程中遇到的問題和解決方法,對(duì)大家的學(xué)習(xí)和工作具有借鑒意義,建議收藏一下
    2021-08-08
  • 詳解Spring AOP

    詳解Spring AOP

    本文非常詳細(xì)講解了Spring AOP,本篇文章通過大量的代碼,講解了Spring AOP的使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java Thread之Sleep()案例詳解

    Java Thread之Sleep()案例詳解

    這篇文章主要介紹了Java Thread之Sleep()案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringBoot啟動(dòng)項(xiàng)目時(shí)實(shí)現(xiàn)加載緩存

    SpringBoot啟動(dòng)項(xiàng)目時(shí)實(shí)現(xiàn)加載緩存

    在SpringBoot項(xiàng)目啟動(dòng)時(shí)執(zhí)行初始化工作有多種方法,包括使用@PostConstruct注解、實(shí)現(xiàn)ApplicationRunner或CommandLineRunner接口,以及監(jiān)聽Spring的生命周期事件,每種方法都有其適用場(chǎng)景和優(yōu)勢(shì),可以根據(jù)具體需求選擇合適的方法
    2026-02-02
  • IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決

    IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決

    這篇文章主要介紹了IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • idea聚合工程搭建過程詳解

    idea聚合工程搭建過程詳解

    本章主要以order訂單服務(wù)來遠(yuǎn)程調(diào)用payment支付服務(wù)為例,當(dāng)然這里只是簡(jiǎn)單的一個(gè)遠(yuǎn)程調(diào)用,沒有太復(fù)雜的邏輯,重點(diǎn)是要掌握的是maven的聚合工程搭建,微服務(wù)分模塊的思想,每一個(gè)步驟我都會(huì)詳細(xì)記錄,并且文章下方還提供了git源碼地址
    2022-06-06
  • java 設(shè)計(jì)模式之適配器模式的詳解

    java 設(shè)計(jì)模式之適配器模式的詳解

    這篇文章主要介紹了java 設(shè)計(jì)模式之適配器模式的詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07

最新評(píng)論

宁夏| 曲沃县| 巴中市| 常熟市| 靖西县| 台中县| 黄骅市| 大竹县| 南郑县| 前郭尔| 板桥市| 凤山市| 博野县| 马公市| 宁晋县| 西贡区| 盘锦市| 徐水县| 霍城县| 嵩明县| 宜州市| 蒙阴县| 牙克石市| 延寿县| 宁武县| 新源县| 巫山县| 潼南县| 原阳县| 南皮县| 汉中市| 长岛县| 印江| 慈利县| 开原市| 新津县| 盘锦市| 宜宾市| 陈巴尔虎旗| 沾益县| 勃利县|