296.4. 요청 응답 사용
SEDA 구성 요소는 호출자가 Async 경로가 완료될 때까지 대기할 때까지 Request Reply 사용을 지원합니다. 예를 들면 다음과 같습니다.
from("mina:tcp://0.0.0.0:9876?textline=true&sync=true").to("seda:input");
from("seda:input").to("bean:processInput").to("bean:createResponse");
위의 경로에서 들어오는 요청을 수락하는 포트 9876에 TCP 리스너가 있습니다. 요청은 seda:input 대기열로 라우팅됩니다. Request Reply(응답 요청) 메시지이므로 응답을 기다립니다. 사용자가 seda:input 대기열의 소비자가 완료되면 원래 메시지 응답에 응답을 복사합니다.
참고
2.2: SEDA 또는 VM 에서 요청을 사용하는 2개의 끝점에서만 작동합니다. A → B → C 등으로 인해 끝점을 연결할 수 없습니다. A → B 사이만 그 이유는 구현 논리가 매우 간단하기 때문입니다. 3개 이상의 끝점을 지원하려면 대기 중인 스레드 간의 순서 및 알림을 올바르게 처리하는 논리가 훨씬 더 복잡해집니다. Camel 2.3 이후 버전에서는 이 기능이 개선되어 원하는 수의 끝점을 연결할 수 있습니다.