Java 如何从两个MessageProducerSpec创建Spring集成流?
我正在使用Spring集成,JavaDSL(1.1.3版) 我的Java 如何从两个MessageProducerSpec创建Spring集成流?,java,spring,spring-integration,Java,Spring,Spring Integration,我正在使用Spring集成,JavaDSL(1.1.3版) 我的org.springframework.integration.dsl.IntegrationFlow定义如下 return IntegrationFlows.from(messageProducerSpec) .handle(handler) .handle(aggregator) .handle(endpoint) .get
org.springframework.integration.dsl.IntegrationFlow
定义如下
return IntegrationFlows.from(messageProducerSpec)
.handle(handler)
.handle(aggregator)
.handle(endpoint)
.get();
}
messageProducerSpec
是org.springframework.integration.dsl.amqp.AmqpBaseInboundChannelAdapterSpec
我希望我的集成流使用来自两个独立的
messageproducerspec
(两个独立的SimpleMessageListenerContainers
,每个都使用不同的连接工厂
)的消息。如何从多个messageProducerSpec构建集成流?我看不到任何集成组件能够使用来自多个源的消息。在Spring集成中没有理由这样做
您始终可以将不同的端点输出到相同的MessageChannel
因此,对于所有这些messageProducerSpec
,您应该有几个简单的IntegrationFlow
s,并使用相同的频道完成它们,其中也应该是从该频道收听的主流:
@Bean
public IntegrationFlow producer1() {
return IntegrationFlows.from(messageProducerSpec1)
.channel("input")
.get();
}
@Bean
public IntegrationFlow producer2() {
return IntegrationFlows.from(messageProducerSpec2)
.channel("input")
.get();
}
...
@Bean
public IntegrationFlow mainFlow() {
return IntegrationFlows.from("input")
.handle(handler)
.handle(aggregator)
.handle(endpoint)
.get();
}