Você pode achar útil projetar
um fluxo de difusão com diversos nós AggregateControl, todos
com os mesmos valores configurados para a propriedade Nome
Agregado, mas com diferentes valores para a propriedade Tempo Limite. É possível reutilizar
um nome agregado apenas nessa situação.
Talvez você queira usar diversos nós AggregateControl se,
por exemplo, tiver criado um fluxo de agregação que reserve uma viagem de
negócios e haja algumas solicitações que precisam de uma resposta em dois
dias. No entanto, outras mais urgentes precisam de uma resposta em duas
horas.
Para configurar um fluxo de agregação que use diversos nós AggregateControl, conclua
as etapas a seguir.
- Crie ou abra o fluxo de mensagens de difusão.
- Configure o número necessário de nós AggregateControl. Defina a propriedade Básica Nome
Agregado de cada nó para o mesmo valor. Por exemplo, inclua dois nós
e insira o nome JOURNEY como o Nome Agregado para ambos.
- Defina o valor para a propriedade Tempo Limite em cada nó como um valor
diferente. Por exemplo, defina o
Tempo Limite em um
nó como duas horas; defina o Tempo Limite no
segundo nó como dois dias.
- Configure um nó Filter para receber pedidos de entrada, verifique seu conteúdo e
roteie-os para o nó AggregateControlcorreto.
- Conecte os nós juntos para obter o resultado desejado. Por exemplo, se você configurou o nó Filtro para testar
solicitações com um campo de prioridade configurado como urgente, conecte o terminal
true ao nó AggregateControl
com o tempo limite curto. Conecte o terminal false ao nó AggregateControl com
o tempo limite mais longo. Conecte os terminais de saída dos nós AggregateControl aos
nós a seguir no fluxo de difusão.
Você deve conectar os dois nós AggregateControlem paralelo, não em seqüência. Isso significa que você deve conectar ambos
ao nó Filter (um ao terminal true, outro ao
false) e ambos aos nós downstream que tratam os pedidos
para difusão. Cada mensagem
de entrada deve passar por apenas um dos nós AggregateControl. Se
você conectar os nós para que uma única mensagem seja processada por mais
de um nó AggregateControl,
serão criados registros duplicados no banco de dados pelo nó AggregateRequest e os resultados
do processamento subsequente serão imprevisíveis.
O diagrama a seguir mostra um exemplo de fluxo de mensagens de difusão
que utiliza esta técnica.