通过注释进行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(); }