Spring integration SI发布-订阅通道-并行执行还是顺序执行?
我创建了一个发布-订阅频道,如Spring integration SI发布-订阅通道-并行执行还是顺序执行?,spring-integration,Spring Integration,我创建了一个发布-订阅频道,如 @Bean MessageChannel parallelRunningSubscribableChannel() { return MessageChannels.publishSubscribe("parallelRunningSubscribableChannel").get(); } 我的主流以该通道结束,其他两个流以该通道开始: @Bean public IntegrationFlow mainFlow() { re
@Bean
MessageChannel parallelRunningSubscribableChannel() {
return MessageChannels.publishSubscribe("parallelRunningSubscribableChannel").get();
}
我的主流以该通道结束,其他两个流以该通道开始:
@Bean
public IntegrationFlow mainFlow() {
return IntegrationFlows
.from(...)
...
.channel(parallelRunningSubscribableChannel)
.get();
}
@Bean
public IntegrationFlow subFlow1() {
return flow -> flow.channel(parallelRunningSubscribableChannel())
.handle(...)
...
}
@Bean
public IntegrationFlow subFlow2() {
return flow -> flow.channel(parallelRunningSubscribableChannel())
.handle(...)
...
}
我假定子流1和子流2按顺序运行(例如,先运行子流1,然后运行子流2),是否正确?我需要知道是否创建了一个新线程,因为我希望这两个子流在同一个db事务中运行 只是出于好奇,我怎样才能使这两个子流平行运行 谢谢大家! 问候,
V.默认情况下,
PublishSubscribeChannel
不是并发的。见文件:
要使这些订阅服务器在它们自己的线程中并行工作,您需要明确为此通道配置一个TaskExecutor
我希望两个子流在同一个db事务中运行
如果您让它们并行,它们将在自己的线程中工作,因此它们不能参与相同的发送。感谢您的澄清!