问题描述
我有一条看起来像这样的路线:
from(URL_A)
.from(URL_B)
.to(URL_C)
.process(...)
// logging
.to(URL_D)
这条路线在 Camel 2.X.X 中完美运行,但在 3.7.X 中无效
我收到的错误信息:
每条路线只允许一个输入。无法接受输入:来自[直接:ABCD]
我检查了 migration guide,但我不知道如何迁移这种路由。
你知道如何进一步解决这个问题吗?
解决方法
我认为您可以使用直接组件:https://camel.apache.org/components/3.4.x/direct-component.html
例如:
from(URL_A)
.to(direct:collector)
from(URL_B)
.to(direct:collector)
from(direct:collector)
.to(URL_C)
.process(...)
// logging
.to(URL_D)
,
@Stepan Shcherbakov 提出了一个解决方案,下面将对其进行改进:
String [] sources = {URL_A,URL_B}
for (String source : sources) {
from(source)
.to(direct:collector)
}
from(direct:collector)
.to(URL_C)
.process(...)
// logging
.to(URL_D)