成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

聊聊TaskExecutor的spring托管

bovenson / 1292人閱讀

摘要:序本文主要簡述下如何設(shè)置的。實例使用托管的好處就是可以在容器啟動或銷毀的時候做些準備或清理動作。分別可以用及來指定。默認尋找的命名為或者的無參方法,這里沒有配置,默認調(diào)用的是的方法。

本文主要簡述下如何設(shè)置TaskExecutor的Thread.UncaughtExceptionHandler。

實例
    @Bean
    protected ThreadPoolTaskScheduler taskExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(10);
        executor.setMaxPoolSize(50);
        executor.setQueueCapacity(100);
        executor.setThreadNamePrefix("demo-");
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        executor.setWaitForTasksToCompleteOnShutdown(true);
        executor.initialize();
        return executor;
    }

使用spring托管TaskExecutor的好處就是可以在spring容器啟動或銷毀的時候做些準備或清理動作。分別可以用initMethod及destroyMethod來指定。
destroyMethod默認尋找public的命名為close或者shutdown的無參方法,這里沒有配置,默認調(diào)用的是ThreadPoolTaskScheduler的shutdown方法。

配置Thread.UncaughtExceptionHandler

spring默認會給async的線程池配SimpleAsyncUncaughtExceptionHandler,具體見spring-context-4.3.9.RELEASE-sources.jar!/org/springframework/scheduling/annotation/AsyncAnnotationAdvisor.java

不過自己配置的taskExecutor就沒有這個福利了,需要自己配置,如下:

        final Thread.UncaughtExceptionHandler uncaughtExceptionHandler = new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {
            //do what you want
            }
        };
        ThreadFactoryBuilder threadFactoryBuilder = new ThreadFactoryBuilder();
        threadFactoryBuilder.setNameFormat("demo-%d");
        threadFactoryBuilder.setUncaughtExceptionHandler(uncaughtExceptionHandler);
        executor.setThreadFactory(threadFactoryBuilder.build());

這樣就大功告成了

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67917.html

相關(guān)文章

  • 聊聊springasync注解

    摘要:序本文主要聊聊中的注解。這里從獲取注解有個可以標注使用哪個,這里的就是尋找這個標識。推薦注解指定,然后的返回,讓它去尋找默認的自己應(yīng)用里頭都默認定義一個給托管 序 本文主要聊聊spring中的async注解。 AsyncConfigurer @EnableAsync(proxyTargetClass = true) @Configuration public class AsyncCo...

    Steve_Wang_ 評論0 收藏0
  • Spring - Asynchronous Request

    摘要:注意這時中結(jié)果為,即將原來的替換成,所以直接返回線程池執(zhí)行的結(jié)果。提醒中的是你業(yè)務(wù)代碼執(zhí)行的步驟。所以異步異常處理和同步相同,在這段請求中處理。比多,調(diào)用時間即發(fā)起之前。正是請求被異步化,從而使得能,即。 用法 @GetMapping(/ddd) public Callable process() { return () -> { Thread.sleep(...

    everfight 評論0 收藏0
  • Spring定時任務(wù)@scheduled多線程使用(@Async注解)

    摘要:下面我們稍稍改下代碼來證實一下這次我讓任務(wù)執(zhí)行的時間等于,大于條線程總間隔時間來耗盡線程池中的線程。 1.開篇 在Spring定時任務(wù)@Scheduled注解使用方式淺窺這篇文章里面提及過,spring的定時任務(wù)默認是單線程的,他在某些場景下會造成堵塞,那么如果我們想讓每一個任務(wù)都起一條線程去執(zhí)行呢? 2.使用@Async 我們可以使用Spring的@Async注解十分容易的實現(xiàn)多線程...

    klivitamJ 評論0 收藏0
  • Flink 在有贊實時計算實踐

    摘要:第三個就是比較重點的內(nèi)容,在有贊的實踐。第四部分是將實時計算化,界面化的一些實踐。二有贊實時平臺架構(gòu)有贊的實時平臺架構(gòu)呢有幾個主要的組成部分。實時平臺提供了集群管理,項目管理,任務(wù)管理和報警監(jiān)控的功能。。 一、前言 這篇主要由五個部分來組成: 首先是有贊的實時平臺架構(gòu)。 其次是在調(diào)研階段我們?yōu)槭裁催x擇了 Flink。在這個部分,主要是 Flink 與 Spark 的 structure...

    ?。?。 評論0 收藏0
  • Flink 在有贊實時計算實踐

    摘要:第三個就是比較重點的內(nèi)容,在有贊的實踐。第四部分是將實時計算化,界面化的一些實踐。二有贊實時平臺架構(gòu)有贊的實時平臺架構(gòu)呢有幾個主要的組成部分。實時平臺提供了集群管理,項目管理,任務(wù)管理和報警監(jiān)控的功能。。 一、前言 這篇主要由五個部分來組成: 首先是有贊的實時平臺架構(gòu)。 其次是在調(diào)研階段我們?yōu)槭裁催x擇了 Flink。在這個部分,主要是 Flink 與 Spark 的 structure...

    fish 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<