179.10. Camel을 사용하여 메시지 및 JMSReplyTo 전송 및 수신 정보

JMS 구성 요소는 복잡하며 경우에 따라 작동하는 방법에 대해 주의해야 합니다. 다음은 찾아야 할 몇 가지 영역/점수에 대한 간략한 요약입니다.

Camel은 JMSProducer 를 사용하여 메시지를 전송할 때 다음 조건을 확인합니다.

  • 메시지 교환 패턴,
  • JMSReplyTo 가 끝점 또는 메시지 헤더에 설정되어 있는지 여부
  • JMS 엔드포인트에 다음 옵션이 설정되어 있는지 여부: disableReplyTo,preserveMessageQos Enabled.

이 모든 것은 사용 사례를 지원하기 위해 이해하고 구성하는 복잡한 일이 될 수 있습니다.

179.10.1. JmsProducer

JmsProducer 는 구성에 따라 다음과 같이 작동합니다.

교환 패턴기타 옵션설명

Inout

-

Camel은 응답을 예상하고 임시 JMSReplyTo 를 설정하고 메시지를 보낸 후 임시 대기열에서 응답 메시지를 수신하기 시작합니다.

Inout

JMSReplyTo 설정

Camel은 응답을 기다리고 메시지를 보낸 후 지정된 JMSReplyTo 큐에서 응답 메시지를 수신하기 시작합니다.

InOnly

-

Camel은 응답을 기대 하지 않고 메시지를 전송합니다.

InOnly

JMSReplyTo 설정

기본적으로 Camel은 메시지를 전송하기 전에 JMSReplyTo 대상을 삭제하고 JMSReplyTo 헤더를 지웁니다. 그런 다음 Camel이 메시지를 전송하고 응답을 기대 하지 않습니다. Camel은 WARN 수준에서 로그에 이를 기록합니다( Camel 2.6 에서 DEBUG 수준으로 변경됨). preserveMessageQuo=true 를 사용하여 Camel에 JMSReplyTo 를 유지하도록 지시할 수 있습니다. 모든 상황에서 JmsProducer 는 응답을 기대 하지 않으므로 메시지를 보낸 후 계속됩니다.