Using multiple AggregateControl nodes

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. You can reuse an aggregate name in only this situation.

Before you begin

For background information, see Message flow aggregation.

About this task

You might want to use multiple AggregateControl nodes if, for example, you have created an aggregation flow that books a business trip, and you might have some requests that need a reply within two days. However, other, more urgent requests, need a reply within two hours.

To configure an aggregation flow that uses multiple AggregateControl nodes, complete the following steps.

Procedure

  1. Create or open the fan-out message flow.
  2. 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.
  3. 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.
  4. Configure a Filter node to receive incoming requests, check their content, and route them to the correct AggregateControl node.
  5. 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.

Results

The following diagram shows an example fan-out message flow that uses this technique.

Diagram shows a fan-out message flow that uses a Filter node to determine the urgency of an inbound request, and routes the request based on the result of the test to one of two AggregateControl nodes that set a shorter or longer timeout value.