通过注释进行Spring Integration Control总线配置

只是一个简单的问题:有没有办法通过注释配置Spring Integration Control Bus(没有任何xml)

 

 @Bean @ServiceActivator(inputChannel = "controlBusChannel") public ExpressionControlBusFactoryBean controlBus() throws Exception { ExpressionControlBusFactoryBean controlBus = new ExpressionControlBusFactoryBean(); return controlBus; } 

请注意,注释上的任何outputChannel都将被忽略; 它是在公交车上定义的。

通常,控制总线的输出通道被省略,正常的请求/回复操作的结果,例如@someBean.isRunning() (如果someBean实现Lifecycle ,例如)返回到replyChannel头(例如,到MessagingTemplate.sendAndReceive()操作或消息网关)。

如果需要将控制总线操作结果发送到其他位置,请将输出通道添加到工厂bean。

现在可以使用@ServiceActivator注释任何MessageHandler @Bean (或创建一个的工厂bean)。 请参阅文档 。

Spring Integration Java DSL提供了有关此事的内容:

 @Bean public IntegrationFlow controlBusFlow() { return IntegrationFlows.from("operationChannel").controlBus().get(); }