224.6. sync=true가 있는 샘플

다음 샘플에서는 포트 6201에 TCP 서비스를 노출하는 일반적인 사용 사례에서도 텍스트 줄 코덱을 사용합니다. 그러나 이번에는 응답을 반환하려고 하므로 소비자에서 동기화 옵션을 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 response = (String)template.requestBody("mina2:tcp://localhost:" + port2 + "?textline=true&sync=true", "World");
assertEquals("Bye World", response);