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

Can we start / stop all channel adapters with a single control bus message?

我知道我们可以通过发送如下控制总线消息来启动/停止通道适配器:@adapterid.start()。 但是我们可以用一条消息为我们拥有的所有适配器做到这一点吗? 像:@allAdapters.start() ? 在我的系统中,我有大约 20 个入站适配器,一个一个地处理它们并不是一个灵活的解决方案。

谢谢,

费伦茨

我记得我是用内联 Groovy 脚本做的:

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

或者您可以使用一些自定义 Java 组件来做到这一点,它注入了所有需要的组件,它的 start() 只是迭代它们并通过简单的控制调用它们的 start() -容器 bean 的总线命令。