我们可以用一条控制总线消息启动/停止所有通道适配器吗?

时间:2015-04-20 07:32:47

标签: spring-integration

我知道我们可以通过发送控制总线消息来启动/停止通道适配器:@ adapterid.start()。 但是,我们可以使用单个消息为所有适配器执行此操作吗? 喜欢:@ allAdapters.start()? 在我的系统中,我有大约20个入站适配器,逐个处理它们不是一个灵活的解决方案。

谢谢,

Ferenc的

1 个答案:

答案 0 :(得分:1)

我记得我使用内联Groovy脚本做到了这一点:

<service-activator>
   <groovy:script>
          ['foo1', 'foo2'].each {
                this."$it".start()
          }
   </groovy:script>
</service-activator>

或者您可以使用一些自定义Java组件来执行此操作,该组件注入了所有需要的组件,其start()只是迭代它们并通过简单的控制总线命令为您的容器bean调用它们的start()