O fluxo de recepção de agregação recebe as respostas para as mensagens de pedido enviadas pelo fluxo de difusão e constrói uma mensagem de resposta combinada contendo todas as respostas recebidas.
Antes de começar:
Para concluir esta tarefa, você deve ter concluído a seguinte tarefa:
Você também é aconselhado a ler a visão geral sobre Agregação de Fluxo de Mensagens antes de concluir esta tarefa.Dependendo de se o fluxo de fan-out é transacional e, se não for, dos valores de tempo limite especificados, a mensagem de resposta combinada pode ser gerada antes de todas as respostas terem sido recebidas pelo fluxo de fan-in.Consulte Criando o Fluxo de Difusão de Agregação para obter informações adicionais sobre este tópico.
É possível incluir o fluxo fan-out e fan-in no mesmo fluxo de mensagens. No entanto, é aconselhável criar dois fluxos separados. Não implemente várias cópias do mesmo fluxo fan-in nos mesmos grupos de execução ou em grupos diferentes. Para obter informações adicionais sobre os benefícios de como configurar fluxos de mensagens separados, consulte Associando Fluxos de Agregação de Difusão e Recepção.
Para ver um exemplo de fluxo de fan-in, consulte a Amostra Airline Reservations fornecida com o WebSphere Message Broker.
Para criar o fluxo de recepção:
O nó AggregateReply cria uma pasta na árvore de mensagens combinadas abaixo da Raiz, chamada ComIbmAggregateReplyBody. Abaixo disso, ele cria várias pastas utilizando os nomes de pastas definidos nos nós AggregateRequest. As mensagens de resposta associadas são colocadas abaixo delas.
Por exemplo, as mensagens de pedidos podem ter nomes de pastas:
A mensagem de resposta agregada resultante criada pelo nó AggregateReply poderá ter uma estrutura semelhante à mostrada abaixo:
Você pode utilizar um nó Compute para acessar a resposta da empresa de táxi utilizando o seguinte nome de correlação:
InputRoot.ComIbmAggregateReplyBody.TAXI.xyz
O nome da pasta não precisa ser exclusivo. Se você tiver vários pedidos com o nome de pasta TAXI, poderá acessar as respostas separadas utilizando a notação subscrita da matriz, por exemplo:
InputRoot.ComIbmAggregateReplyBody.TAXI[1].xyz InputRoot.ComIbmAggregateReplyBody.TAXI[2].xyz