亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

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

相關(guān)文章

  • Visual?Studio?Code配置Tomcat運行Java?Web項目詳細(xì)步驟

    Visual?Studio?Code配置Tomcat運行Java?Web項目詳細(xì)步驟

    VS Code是一款非常棒的文本編輯器,具有配置簡單、功能豐富、輕量簡潔的特點,并且極其適合處理中小規(guī)模的代碼,這篇文章主要給大家介紹了關(guān)于Visual?Studio?Code配置Tomcat運行Java?Web項目的詳細(xì)步驟,需要的朋友可以參考下
    2023-11-11
  • java8中定時任務(wù)最佳實現(xiàn)方式(實現(xiàn)原理)

    java8中定時任務(wù)最佳實現(xiàn)方式(實現(xiàn)原理)

    這篇文章主要介紹了java8中定時任務(wù)最佳實現(xiàn)方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-12-12
  • SpringBoot使用Redis的zset統(tǒng)計在線用戶信息

    SpringBoot使用Redis的zset統(tǒng)計在線用戶信息

    這篇文章主要介紹了SpringBoot使用Redis的zset統(tǒng)計在線用戶信息,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot框架,感興趣的朋友可以了解下
    2021-04-04
  • JAVA8妙用Optional解決判斷Null為空的問題方法

    JAVA8妙用Optional解決判斷Null為空的問題方法

    本文主要介紹了JAVA8妙用Optional解決判斷Null為空的問題方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Maven將代碼及依賴打成一個Jar包的方式詳解(最新推薦)

    Maven將代碼及依賴打成一個Jar包的方式詳解(最新推薦)

    這篇文章主要介紹了Maven將代碼及依賴打成一個Jar包的方式,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • springboot log4j2不能打印框架錯誤日志的解決方案

    springboot log4j2不能打印框架錯誤日志的解決方案

    這篇文章主要介紹了springboot log4j2不能打印框架錯誤日志的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot集成netty實現(xiàn)websocket通信功能

    SpringBoot集成netty實現(xiàn)websocket通信功能

    Netty是一個高性能、異步事件驅(qū)動的網(wǎng)絡(luò)應(yīng)用框架,用于快速開發(fā)可維護(hù)的高性能協(xié)議服務(wù)器和客戶端,WebSocket 是一種網(wǎng)絡(luò)通信協(xié)議,相比傳統(tǒng)的HTTP協(xié)議,本文給大家介紹了SpringBoot集成netty實現(xiàn)websocket通信功能,需要的朋友可以參考下
    2024-03-03
  • Java字節(jié)碼指令集的使用詳細(xì)

    Java字節(jié)碼指令集的使用詳細(xì)

    本篇文章對Java字節(jié)碼指令集的使用進(jìn)行了詳細(xì)的介紹。需要的朋友參考下
    2013-05-05
  • Spring中@Import的各種用法以及ImportAware接口詳解

    Spring中@Import的各種用法以及ImportAware接口詳解

    這篇文章主要介紹了Spring中@Import的各種用法以及ImportAware接口詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Java創(chuàng)建線程池的幾種方式代碼示例

    Java創(chuàng)建線程池的幾種方式代碼示例

    這篇文章主要介紹了Java中創(chuàng)建線程池的四種方式,包括使用Executors類、ThreadPoolExecutor類、Future和Callable接口以及Spring的ThreadPoolTaskExecutor,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01

最新評論