Sun Java System Message Queue 3.7 UR1 기술 개요

요청-응답 패턴

동일한 연결 또는 세션(통합 API를 사용하는 경우)에서 제작자와 소비자를 결합할 수 있습니다. 또한 JMS API를 통해 임시 대상을 사용하여 메시징 작업에 대한 요청-응답 패턴을 구현할 수 있습니다.

요청-응답 패턴을 설정하려면 다음 작업을 수행해야 합니다.

  1. 소비자가 응답을 보낼 수 있는 임시 대상을 만듭니다.

  2. 보낼 메시지에서 메시지 헤더의 JMSReplyTo 필드를 해당 임시 대상으로 설정합니다.

메시지 소비자가 메시지를 처리할 때 메시지의 JMSReplyTo 필드를 검사하여 응답이 필요한지를 결정하고 지정된 대상에게 응답을 보냅니다.

요청-응답 메커니즘은 제작자가 응답 대상에 대한 관리 대상 객체를 설정해야 하는 번거로움을 덜어주고, 소비자가 요청에 쉽게 응답할 수 있게 해 줍니다. 이 패턴은 제작자가 계속하기 전에 요청이 처리되었는지 확인해야 하는 경우에 유용합니다.

그림 2–6에서는 주제에 메시지를 보내고 임시 대기열에서 응답을 받는 요청-응답 패턴에 대해 설명합니다.

그림 2–6 요청/응답 패턴

게시자가 주제 대상을 통해 두 가입자에게 메시지를 보내고 대기열을 통해 응답을 받습니다. 그림은 텍스트에 설명되어 있습니다.

그림에 표시된 것처럼 MyTopicPublisherMsg1을 대상 MyTopic에 생성합니다. MyTopicSubsriber1MyTopicSubscriber2는 메시지를 받고 MyTempQueue에 응답을 보냅니다. MyTQReceiver는 이 대기열에서 응답을 검색합니다. 이 패턴은 다수의 클라이언트에 가격 정보를 게시하고 순차적 처리를 위해 (응답) 주문을 대기열에 넣는 응용 프로그램에 유용할 수 있습니다.

임시 대상은 대상을 만든 연결 기간 동안만 지속됩니다. 제작자는 임시 대상에 보낼 수 있지만, 대상을 만든 동일한 연결에 의해 생성되는 것은 임시 대상에 액세스할 수 있는 소비자뿐입니다.

요청/응답 패턴은 임시 대상 만들기에 따라 다르므로 다음과 같은 경우에는 이 패턴을 사용하지 않아야 합니다.