![](/img/trans.png)
[英]How to solve “Failed to create route route1 exception” in Apache Camel?
[英]Failed to create route route1
我在解決此異常時遇到麻煩,而且我不知道我在哪里做錯了。 這是例外。
org.apache.camel.spring.boot.CamelSpringBootInitializationException: java.lang.RuntimeException: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> Filter[bean[ref:filter method:accept] -> []] <<< in route: Route(route1)[[From[file:D:/copyy/?noop=true]] -> [Filter[be... because of Definition has no children on Filter[bean[ref:filter method:accept] -> []]
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> Aggregate[true -> []] <<< in route: Route(route1)[[From[file:D:/xml/?noop=true]] -> [Aggregate[t... because of Definition has no children on Aggregate[true -> []]
Caused by: java.lang.IllegalArgumentException: Definition has no children on Aggregate[true -> []]
這是我的路由器:
<bean id="AggregatorDemo" class="com.javainuse.AggregatorDemo"/>
<route>
<from uri="file:D:/xml/?noop=true" />
<aggregate strategyRef="AggregatorDemo">
<correlationExpression>
<constant>true</constant>
</correlationExpression>
</aggregate>
<log message=".....${body}...."></log>
<to uri="file:D:/Xmlcopy" />
</route>
這是我正在使用的聚合器類。
public class AggregatorDemo implements AggregationStrategy{
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
if (oldExchange == null) {
return newExchange;
}
String orders = oldExchange.getIn().getBody(String.class);
String newLine = newExchange.getIn().getBody(String.class);
orders = orders+ newLine;
oldExchange.getIn().setBody(orders);
return oldExchange;
}
}
將它們移到<aggregate>
<log message=".....${body}...."></log>
<to uri="file:D:/Xmlcopy" />
因此,聚合中有子級,例如
<aggregate strategyRef="AggregatorDemo">
<correlationExpression>
<constant>true</constant>
</correlationExpression>
<log message=".....${body}...."></log>
<to uri="file:D:/Xmlcopy" />
</aggregate>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.