213.5. sync=true のあるサンプル
次の例では、ポート 6201 で TCP サービスを公開するより一般的なユースケースもあります。このユースケースでは、テキストラインコーデックも使用します。ただし、今回は応答を返すので、コンシューマーで sync
オプションを true
に設定します。
from("mina2:tcp://localhost:" + port2 + "?textline=true&sync=true").process(new Processor() { public void process(Exchange exchange) throws Exception { String body = exchange.getIn().getBody(String.class); exchange.getOut().setBody("Bye " + body); } });
次に、一部のデータを送信し、template.requestBody()
メソッドを使用して応答を取得してサンプルをテストします。応答は String
であるため、これを String
にキャストし、レスポンスがプロセッサーコードロジックに動的に設定されていることをアサートできます。
String response = (String)template.requestBody("mina2:tcp://localhost:" + port2 + "?textline=true&sync=true", "World"); assertEquals("Bye World", response);