Sobre o Fluxo de Mensagens XML_FlightQueryIn

O XML_FlightQueryIn é um fluxo de mensagens de fan-in no exemplo de agregação, XML_FlightQuery. O XML_FlightQuery é construído a partir de três fluxos de mensagens curtos que comunicam-se através da colocação e da obtenção de mensagens das filas do WebSphere MQ. Os três fluxos de mensagens do XML_FlightQuery são:

  1. XML_FlightQueryOut, o fluxo de mensagens fan-out, que gera e difunde dois pedidos relacionados de informações sobre vôos e informações sobre passageiros, consulte Sobre o fluxo de mensagens XML_FlightQueryOut.
  2. XML_FlightQueryReply, que localiza as informações necessárias para responder aos dois pedidos, consulte Sobre o fluxo de mensagens XML_FlightQueryReply.
  3. XML_FlightQueryIn, o fluxo de mensagens de recepção, que combina as respostas em uma única mensagem de resposta.

A mensagem de entrada de XML_FlightQuery solicita informações sobre um vôo específico e os detalhes de passageiros que fizeram reservas de assentos no vôo.

O diagrama a seguir mostra o fluxo de mensagens XML_FlightQueryIn.

Captura de Tela do Fluxo de Mensagens XML_FlightQuery_Reply

A tabela a seguir lista os tipos de nós que são utilizados no fluxo de mensagens XML_FlightQueryIn.

Tipo de Nó Nome de Nó
MQInput XML_FLIGHTQUERY_REPLIES
AggregateReply AggregateReplies
Compute BuildOutputMessage; ProcessTimeout
MQOutput XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL

Para obter mais informações sobre os nós usados nesta amostra, consulte Nós integrados na documentação do WebSphere Message Broker. Para consultar o ESQL utilizado nesse fluxo de mensagens, consulte Criando o fluxo de mensagens XML_FlightQueryIn.

O fluxo de mensagens XML_FlightQueryIn executa as seguintes ações:

  1. O nó XML_FLIGHTQUERY_REPLIES obtém as duas mensagens de resposta da fila XML_FLIGHTQUERY_REPLIES, em seguida transmite cada mensagem de resposta através do terminal Out para o nó AggregateReplies. Alternativamente, se uma exceção produziu recebimento de dados e a mensagem foi retornada para cá, o nó XML_FLIGHTQUERY_REPLIES transmite a mensagem através do terminal Catch para o nó XML_FLIGHTQUERY_FAIL, que coloca a mensagem na fila XML_FLIGHTQUERY_FAIL.
  2. O nó AggregateReplies combina as duas mensagens de resposta em uma única, mensagem de resposta agregada, em seguida transmite a mensagem de resposta agregada através do terminal Out para o nó BuildOutputMessage. Se a agregação expira porque todas as respostas não chegaram dentro do intervalo de tempo limite (especificado nas propriedades do nó AggregateReplies), o nó AggregateReplies transmite a mensagem agregada incompleta através do terminal Timeout para o nó ProcessTimeout. O nó ProcessTimeout, então, transmite a mensagem para o nó XML_FLIGHTQUERY_TIMEOUT, que coloca a mensagem na fila XML_FLIGHTQUERY_TIMEOUT.
  3. O nó BuildOutputMessage constrói uma mensagem de saída única a partir das informações na mensagem de resposta agregada. A mensagem de saída contém o número e a data do vôo; a capacidade, número de poltronas reservadas e o preço da poltrona para cada classe; uma lista de nomes de passageiros e seus números de reservas.
  4. O nó BuildOutputMessage transmite a mensagem de saída através do terminal Out para o nó XML_FLIGHTQUERY_OUT, que coloca a mensagem de saída na fila XML_FLIGHTQUERY_OUT.

Voltar para a amostra Sobre as Reservas Aéreas