[英]Default taskScheduler Bean - Spring integraion 2.2.0 Vs 3.0.2 with Spring 3.2.9
我有一個獨立的應用程序,該應用程序使用文件入站通道適配器以特定間隔從指定位置輪詢文件。 我沒有定義taskScheduler實例。 當同時運行具有Spring Integration 2.2.0和3.0.2的應用程序時,我看到經過一定時間后創建了10個名稱為task-scheduler-x的線程。 我相信這是默認行為。
我從應用程序中刪除了文件入站通道適配器配置,然后重新運行它,發現以下行為。
在3.0.2中,將使用名稱task-scheduler-x創建10個線程。
在2.2.0中,盡管正在創建taskScheduler實例(我可以在日志中看到有關Bean創建的消息),但是我看不到使用名稱task-scheduler-x創建任何線程。
為什么這兩個版本之間的行為不同? 如果我不想創建taskScheduler實例或不想為任務調度創建任何線程,該怎么辦?
謝謝您的幫助。
該框架現在具有使用taskScheduler
的內置組件(標頭通道注冊表)。
盡管確實有實例化調度程序線程池的副作用,但實際上並沒有使用太多資源。
如果您不需要/不使用它,我們將考慮添加一個選項來禁用它。 同時,您可以通過將此bean添加到上下文中來還原到3.0之前的行為:
<bean id="integrationHeaderChannelRegistry" class="org.springframework.integration.channel.DefaultHeaderChannelRegistry">
<property name="autoStartup" value="false" />
</bean>
我為此打開了JIRA問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.