単純な動的ルーターを設定しました。
public String slip(String body, @Header(Exchange.SLIP_ENDPOINT) String previous) {
if (previous == null) {
return "mock:a";
}
else if (body.contains("status=2") ) {
return "mock:b";
}
else if (body.contains("status=3") ) {
return "mock:c";
}
// no more so return null
return null;
}
モックa、b、cは、カスタムプロセッサを使用したルートです。
public void process(Exchange exchange) throws Exception {
String str_request = "";
String str_requestNew = "";
str_request = (String) exchange.getIn().getBody();
if(str_request.contains("status=1"))
str_requestNew = "status=2";
}
JavaDSLを介してカスタムプロセッサのルート間のメッセージ本文を更新するにはどうすればよいですか。exchange.getOut()。setBody(newreq); ?
新しいプロデューサーを作成して、メッセージをダイナミックルーターに送り返す必要がありますか?ProducerTemplateテンプレート=exchange.getContext()。createProducerTemplate(); template.sendBody(myDynamicRouterEndpoint、newreq); または、方法1を介して行う場合、ルーターは新しい本体を取得しますか。
それとも、私のロジックに大きな欠陥がありますか?:)