默认taskScheduler Bean-Spring集成2.2.0与3.0.2与Spring 3.2.9

默认taskScheduler Bean-Spring集成2.2.0与3.0.2与Spring 3.2.9,spring,spring-integration,Spring,Spring Integration,我有一个独立的应用程序,它使用文件入站通道适配器以一定的间隔从指定位置轮询文件。 我没有定义taskScheduler实例。 在使用SpringIntegration2.2.0和3.0.2运行应用程序时,我看到在经过一定时间后,有10个线程被创建为task-scheduler-x。我相信这是默认的行为 我从应用程序中删除了文件入站通道适配器配置并重新运行它,我注意到以下行为 在3.0.2中,创建了10个名为task-scheduler-x的线程 在2.2.0中,虽然创建了taskSchedule

我有一个独立的应用程序,它使用文件入站通道适配器以一定的间隔从指定位置轮询文件。 我没有定义taskScheduler实例。 在使用SpringIntegration2.2.0和3.0.2运行应用程序时,我看到在经过一定时间后,有10个线程被创建为task-scheduler-x。我相信这是默认的行为

我从应用程序中删除了文件入站通道适配器配置并重新运行它,我注意到以下行为

在3.0.2中,创建了10个名为task-scheduler-x的线程
在2.2.0中,虽然创建了taskScheduler实例(我可以在日志中看到关于创建bean的消息),但我没有看到任何名为task-scheduler-x的线程被创建

为什么这两个版本的行为不同?如果我不想创建taskScheduler实例,或者我不想为任务调度创建任何线程,该怎么办


感谢您的帮助。

该框架现在有一个内置组件(标题通道注册表),它使用
任务调度器

它实际上并没有使用太多的资源,尽管它确实有实例化调度程序线程池的副作用

如果您不需要/使用它,我们将考虑添加一个选项来禁用它。同时,通过将此bean添加到上下文中,可以恢复到3.0之前的行为:

<bean id="integrationHeaderChannelRegistry" class="org.springframework.integration.channel.DefaultHeaderChannelRegistry">
    <property name="autoStartup" value="false" />
</bean>

我为此打开了一个窗口