使用Java定义Apache Camel路由,我可以做这样的事情
from("stream:in?promptMessage=Enter something: ")
.loadBalance()
.to("uria", "urib")
它就像一个魅力。
使用Spring上下文文件尝试此操作无效:
<c:camelContext id="defaultContext">
<c:route id="defaultRoute">
<c:from uri="stream:in?promptMessage=Enter something: "/>
<c:loadBalance inheritErrorHandler="false">
<c:to uri="uria, urib"/>
</c:loadBalance>
<c:to uri="stream:out"/>
</c:route>
</c:camelContext>
任何想法,我如何设置每个<c:to ...
元素不止一个uri?我不想拥有多个<c:to ...
元素。有什么办法,比如说路线工厂通过清单?
我想要实现的原因是什么:我想从配置文件中注入一个URI列表,直接将它们传递给Camel路由。
我正在使用Apache Camel的2.12.1版本。
答案 0 :(得分:1)
RouteBuilder类应为
@Component
public class MyRoute extends SpringRouteBuilder {
@Override
public void configure() throws Exception {
String URIs = // read all URI's from file or somewhere
from("direct:start")
.loadbalance()
.to(URIs);
}
}