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:
- 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.
- XML_FlightQueryReply,
que localiza as informações necessárias para responder aos dois pedidos, consulte
Sobre o fluxo de mensagens
XML_FlightQueryReply.
- 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.

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:
- 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.
- 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.
- 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.
- 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