179.14.2. request-reply over JMS 및 전용 고정 응답 대기열 사용


Camel 2.9에서 사용 가능

이전 예에서 Camel은 "bar"라는 고정 응답 대기열이 공유되었으므로 JMSSelector 를 사용하여 예상한 응답 메시지만 사용합니다. 그러나 JMS selectos가 느리기 때문에 이 작업을 수행하는 데 어려움이 있습니다. 또한 응답 대기열의 소비자는 새 JMS 선택기 ID로 업데이트하는 속도가 느립니다. 실제로 receiveTimeout 옵션이 시간 초과될 때만 업데이트됩니다. 기본값은 1초입니다. 따라서 이론적으로 응답 메시지는 1초 정도 소요될 수 있습니다. 반면 고정 응답 대기열이 Camel 응답 소비자에만 독점적인 경우 JMS 선택기를 사용하지 않도록 방지할 수 있으므로 더 성능이 향상됩니다. 사실 임시 대기열을 사용하는 것처럼 빠릅니다. 따라서 Camel 2.9 에서는 다음의 예와 같이 Camel에 응답 큐가 독점적이라는 것을 알 수 있는 ReplyToType 옵션을 도입했습니다.

from(xxx)
.inOut().to("activemq:queue:foo?replyTo=bar&replyToType=Exclusive")
.to(yyy)

큐는 각 끝점에 독점적이어야 합니다. 따라서 두 개의 경로가 있는 경우 다음 예제와 같이 각각 고유한 응답 대기열이 필요합니다.

from(xxx)
.inOut().to("activemq:queue:foo?replyTo=bar&replyToType=Exclusive")
.to(yyy)

from(aaa)
.inOut().to("activemq:queue:order?replyTo=order.reply&replyToType=Exclusive")
.to(bbb)

클러스터형 환경에서 실행되는 경우에도 적용됩니다. 그런 다음 클러스터의 각 노드는 고유한 응답 대기열 이름을 사용해야 합니다. 그렇지 않으면 클러스터의 각 노드가 다른 노드에서 응답하려는 메시지를 선택할 수 있습니다. 클러스터형 환경의 경우 대신 공유 응답 대기열을 사용하는 것이 좋습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동