Hi Steve,
Thanks a lot, very helpful! I now can see the result in my
JoinReplyAggregationStrategy that two message have merged when I debugged
it. But after setBody to exchangeOld, it returns nothing. It seems get
nothing after aggregate...
Here is the strategy:
public class JoinReplyAggregationStrategy implements AggregationStrategy{
public Exchange aggregate(Exchange exchangeOld, Exchange exchangeNew){
if(exchangeOld == null){
return exchangeNew;
}else {
String body1 = exchangeOld.getIn().getBody(String.class);
String body2 = exchangeNew.getIn().getBody(String.class);
String status = "Http Status " +
exchangeOld.getIn().getHeader("CamelHttpResponseCode").toString();
System.out.println(status);
String merged = (body2 == null) ? body1 : body1 + "+" +body2;
exchangeOld.getIn().setBody(merged);
//System.out.println(merged);
return exchangeOld;
}
}
}
There is no error. ExchangeOld has setBody as merged string in this step,
but in my route2, exchange getIn() is nothing. Seems exchangeOld doesn't
return....
I'm so confused ....
Thanks,
Meng
--
View this message in context:
http://camel.465427.n5.nabble.com/Problem-Concatenate-the-different-input-from-different-route-using-aggreagationStrategy-tp5789368p5789487.html
Sent from the Camel - Users mailing list archive at Nabble.com.