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);