【发布时间】:2015-05-26 22:51:41
【问题描述】:
我需要将 xml 发送到队列中,并使用 xpath 由其中一个字段聚合。 这是我的 RouteBuilder 类实现的代码:
public class SimpleRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("activemq:queue:test.input").aggregate(new MyAggregationStrategy()).
xpath("login/(login)='manager", String.class).completionPredicate(header("aggregated").isEqualTo(5))
.to("activemq:queue:test.output").end()
;
}
}
class MyAggregationStrategy implements AggregationStrategy {
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
Message newIn = newExchange.getIn();
String oldBody = oldExchange.getIn().getBody(String.class);
String newBody = newIn.getBody(String.class);
newIn.setBody(oldBody + newBody);
return newExchange;
}
}
正在发送的 xml 如下所示:
<person>
<login>login</login>
<password>pass</password>
</person>
当我将此jar复制到activemq lib文件夹并启动activemq时,出现这样的异常:
ERROR: java.lang.IllegalArgumentException: Invalid broker URI, no scheme specified: start
这可能是什么问题?
【问题讨论】:
标签: java xml xpath apache-camel activemq