2013-09-30 63 views
0

在Spring Integration中,任务执行器可以在不同的通道之间共享吗?它会影响性能,因为现在有几个渠道将争夺同样的资源,还是它只是共享的定义?Spring Integration和TaskExecutors

回答

0

不,这不仅仅是一个定义,它是一个特定的TE实例。如果你将它注入到多个地方,那么线程将在这些元素之间共享。

您可以调整执行程序的属性(池大小等)以适应,但是,如果您有关键组件,则可以随时为其提供一个专用TE。

+0

非常感谢加里。当一个通道连接到service-activator/chain/jms:outbound-channel-adapter等时,是否应该为这些元素配置一个任务执行器?或者,是否会自动为发送给他们的频道自动生成这些元素的这些元素的实例? – user1052610

+0

否;通常这些组件是被动的并在调用线程上运行(使用DirectChannel时)。唯一需要任务执行程序的时间是“主动”入站适配器(如JMS消息驱动),或者使用轮询(轮询终端或您有中途QueueChannel)。大多数需要TE的组件提供默认设置;你只需要提供一个特定的参数,如果你需要调整参数或者你想分享它多个组件。 –

+0

对于jms:入站通道适配器,使用jms:入站通道适配器的“concurrent-consumers”属性和设置任务执行程序有什么区别? – user1052610

相关问题