O fluxo fan-in de agregação recebe as respostas às mensagens de pedido que são enviadas pelo fluxo fan-out e constrói uma mensagem de resposta combinada contendo todas as respostas recebidas.
Antes de começar:
Você pode incluir o fluxo fan-out e fan-in no mesmo fluxo de mensagens. Entretanto, você pode preferir criar dois fluxos separados. 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. Não implemente várias cópias do mesmo fluxo de fan-in no mesmo grupo de execução ou em grupos diferentes.
Se você não configurar o fluxo fan-out para ser transacional, os valores de tempo limite especificados podem resultar na mensagem de resposta combinada sendo gerada antes que o fluxo de fan-in receba todas as respostas. Para obter informações adicionais, consulte Criando o Fluxo de Difusão de Agregação.
Para criar o fluxo de recepção:
O nó AggregateReply cria uma pasta na árvore de mensagens combinada abaixo de Root, chamada ComIbmAggregateReplyBody. Abaixo desta pasta, o nó cria várias subpastas utilizando os nomes configurados nos nós AggregateRequest. Essas subpastas são preenchidas com as mensagens de resposta associadas.
Por exemplo, as mensagens de pedidos podem ter nomes de pastas:
A mensagem de resposta agregada resultante criada pelo nó AggregateReply pode ter uma estrutura semelhante ao seguinte exemplo:
Utilize ESQL em 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