You might find it useful to design a fan-out flow with multiple
AggregateControl nodes, all with the same value set for the property Aggregate Name, but with different values
for the Timeout property.
This is the only situation in which you can reuse an Aggregate Name.
Before
you start:
To complete this task, you must have completed the following
task:
For example, if you have created an aggregation flow that books
a business trip, you might have some requests that need a reply within two
days, but other, more urgent requests, that need a reply within two hours.
To
configure an aggregation flow that uses multiple AggregateControl nodes:
- Switch to the Broker Application Development
perspective.
- Create or open the fan-out message flow.
- Configure the required number of AggregateControl nodes. Set the
Basic property Aggregate Name of
each node to the same value. For example, include two nodes and enter the
name JOURNEY as the Aggregate Name for both.
- Set the value for the Timeout property
in each node to a different value. For example, set the Timeout in
one node to two hours; set the Timeout in
the second node to two days.
- Configure a Filter node to receive incoming requests, check their
content, and route them to the correct AggregateControl node.
- Connect the nodes together to achieve the required result. For example, if you have configured the Filter node to test for requests
with a priority field set to urgent, connect the true terminal to the AggregateControl
node with the short timeout. Connect the false terminal to the AggregateControl
node with the longer timeout. Connect the out terminals of the AggregateControl
nodes to the following nodes in the fan-out flow.
You must connect the
two AggregateControl nodes in parallel, not in sequence. This means that you
must connect both to the Filter node (one to the true terminal, one to the
false), and both to the downstream nodes that handle the requests for the
fan-out. Each input message must pass through only one of the AggregateControl
nodes. If you connect the nodes such that a single message is processed by
more than one AggregateControl node, duplicate records are created in the
database by the AggregateRequest node and subsequent processing results are
unpredictable.
The following diagram shows an example fan-out message flow that
uses this technique.
