0
從我使用駱駝的spring引導中我想知道是否有可能在駱駝路由完成時獲得響應(最後一個路由在我的例子)。從java激活駱駝路由 - 如何獲得最後一條路由的響應
@Component
public class CamelSender {
@Produce(uri = "direct:start")
private ProducerTemplate template;
public void callRoute(List<String> list) throws ExecutionException, InterruptedException {
template.sendBodyAndHeader("direct:start", list, "orderId", "123456677"
);
}
}
//駱駝航線
from("direct:start")
.log("Split -> Process order ${body}")
.split().body().to("direct:actionQueue")
.end();
from("direct:actionQueue")
.bean(ValidateOrders.class)
.log("Sending to join queue")
.to("direct:joinQueue");
from("direct:joinQueue").aggregate(new MyOrderAggregationStrategy())
.header("orderId")
.completionTimeout(1000L)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
List<String> orders = ( (List<String>) exchange.getIn().getBody());
String collect = orders.stream().map(order -> order.toString()).collect(Collectors.joining(","));
exchange.getIn().setBody("Collected validations: "+collect);
}
})
.log("${body}");
如何使用收集到的驗證(字符串)到我的java bean返回身體:它使用ProducerTemplate這樣開始了嗎?