XML_FlightQueryIn 메시지 플로우 정보

XML_FlightQueryIn은 집계에 관한 예제인 XML_FlightQuery의 fan-in 메시지입니다. XML_FlightQuery는 WebSphere MQ 큐에서 메시지를 가져오고 넣는 방법으로 통신하는 세 개의 간단한 메시지 플로우로 구성됩니다. XML_FlightQuery를 구성하는 세 개의 메시지 플로우는 다음과 같습니다.

  1. XML_FlightQueryOut은 fan-out 메시지 플로우이며 항공기 정보 및 승객 정보와 관련된 두 요청을 생성하여 fan-out합니다.
  2. XML_FlightQueryReply는 두 요청에 응답하는 데 필요한 정보를 찾습니다.
  3. XML_FlightQueryIn은 fan-in 메시지 플로우이며 여러 응답을 하나의 응답 메시지로 결합합니다.

XML_FlightQuery의 입력 메시지는 특정 항공기에 대한 정보 및 항공기에 좌석을 예약한 승객에 대한 정보를 요청합니다.

다음 그림은 XML_FlightQueryIn 메시지 플로우를 보여줍니다.

XML_FlightQuery_Reply 메시지 플로우의 화면 캡처

다음 표는 XML_FlightQueryIn 메시지 플로우에 사용된 노드 유형을 나열합니다.

노드 유형 노드 이름
MQInput XML_FLIGHTQUERY_REPLIES
AggregateReply AggregateReplies
Compute BuildOutputMessage; ProcessTimeout
MQOutput XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL

자세한 정보는 WebSphere Message Broker 문서에 있는 XML_FlightQueryIn메시지 플로우의 노드를 읽으십시오. 이 메시지 플로우에 사용된 ESQL을 보려면 XML_FlightQueryIn 메시지 플로우 작성을 참조하십시오.

XML_FlightQueryIn 메시지 플로우는 다음 조치를 수행합니다.

  1. XML_FLIGHTQUERY_REPLIES 노드는 XML_FLIGHTQUERY_REPLIES 큐에서 두 개의 응답 메시지를 가져온 다음, Out 터미널을 통해 AggregateReplies 노드로 각 응답 메시지를 전달합니다. 또는 다운스트림으로 예외가 발생하고 메시지가 롤백된 경우, XML_FLIGHTQUERY_REPLIES 노드는 Catch 터미널을 통해 XML_FLIGHTQUERY_FAIL 노드로 메시지를 전달하고, 이 노드는 메시지를 XML_FLIGHTQUERY_FAIL 큐에 넣습니다.
  2. AggregateReplies 노드는 두 개의 응답 메시지를 단일의 집계된 응답 메시지에 결합한 후 집계된 Out 터미널을 통해 BuildOutputMessage 노드로 응답 메시지를 전달합니다. 모든 응답이 시간 종료 간격(AggregateReplies 노드의 등록 정보에 지정됨) 내에 도착하지 하지 않았기 때문에 집계가 시간 종료될 경우, AggregateReplies 노드는 Timeout 터미널을 통해 ProcessTimeout 노드로 불완전한 집계 메시지를 전달합니다. 그런 다음, ProcessTimeout 노드는 메시지를 XML_FLIGHTQUERY_TIMEOUT 노드로 전달하고, 이 노드는 메시지를 XML_FLIGHTQUERY_TIMEOUT 큐에 넣습니다.
  3. BuildOutputMessage 노드는 집계된 응답 메시지의 정보로부터 단일 출력 메시지를 빌드합니다. 출력 메시지는 항공기 번호와 날짜, 정원, 예약된 좌석 수, 각 좌석 등급에 대한 좌석 요금, 승객 이름 및 예약 번호 목록을 포함합니다.
  4. BuildOutputMessage 노드는 Out 터미널을 통해 XML_FLIGHTQUERY_OUT 노드로 출력 메시지를 전달하고, 이 노드는 출력 메시지를 XML_FLIGHTQUERY_OUT 큐에 넣습니다.

기본 페이지 아이콘   Airline Reservations 샘플 정보로 돌아가기