只是一个简单的问题: 有没有办法通过注释配置Spring Integration控制总线(没有任何xml)
<control-bus input-channel="operationChannel"/>
答案 0 :(得分:7)
Spring Integration Java DSL提供了有关此事的内容:
@Bean
public IntegrationFlow controlBusFlow() {
return IntegrationFlows.from("operationChannel").controlBus().get();
}
答案 1 :(得分:6)
@Bean
@ServiceActivator(inputChannel = "controlBusChannel")
public ExpressionControlBusFactoryBean controlBus() throws Exception {
ExpressionControlBusFactoryBean controlBus = new ExpressionControlBusFactoryBean();
return controlBus;
}
请注意,注释上的任何outputChannel
都将被忽略;它是在公交车上定义的。
通常省略控制总线的输出通道,其中包含正常请求/回复操作的结果,例如@someBean.isRunning()
(例如someBean实现Lifecycle
)返回{{1}标题(例如,到replyChannel
操作或消息传递网关)。
如果需要将控制总线操作结果发送到其他地方,请将输出通道添加到工厂bean。
任何MessagingTemplate.sendAndReceive()
MessageHandler
(或创建一个的工厂bean)现在都可以使用@Bean
进行注释。请参阅the documentation。