AggregateReply node

This topic contains the following sections:

Purpose

Use the AggregateReply node to mark the end of an aggregation fan-in. This node collects replies and combines them into a single compound message.

Aggregation is an extension of the request/reply application model. It combines the generation and fan-out of a number of related requests with the fan-in of the corresponding replies, and compiles those replies into a single aggregated reply message.

The aggregation function is provided by the following three nodes:

  1. The AggregateControl node marks the beginning of a fan-out of requests that are part of an aggregation. It sends a control message that is used by the AggregateReply node to match the different requests that have been made. The information that is propagated from the control terminal includes the broker identifier, the aggregate name property, and the timeout property. The aggregation information that is added to the message Environment by the AggregateControl node must not be changed.
  2. The AggregateRequest node records the fact that the request messages have been sent. It also collects information that helps the AggregateReply node to construct the aggregated reply message. The information that is added to the message Environment by the AggregateRequest must be preserved; otherwise the aggregation fails.
  3. The AggregateReply node marks the end of an aggregation fan-in. It collects replies and combines them into a single aggregated reply message.

The AggregateReply node is represented in the workbench by the following icon:

AggregateReply node icon

When incoming messages are stored by the AggregateReply node before all responses for the aggregation are received, the persistence of the message determines whether the message survives a restart.

If during an aggregation, one or more of the response messages are not received by the AggregateReply node, the normal timeout or unknown message processing deals with the responses that have already been received.

Using this node in a message flow

Look at the following samples to see how you can use this node:

Configuring the AggregateReply node

When you have put an instance of the AggregateReply node into a message flow, you can configure it. Right-click the node in the editor view and click Properties. The node's basic properties are displayed.

All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk on the properties dialog.

Configure the AggregateReply node as follows:

  1. Enter a value for the Aggregate Name. This name is used to associate the fan-in message flow with the fan-out message flow. This value must be contextually unique within a broker. This property is mandatory; you must enter a value.
  2. Enter a value for Unknown Message Timeout. This value is specified in seconds. It specifies the amount of time for which messages that cannot be identified as valid replies are held before being propagated to the unknown terminal.

    If you enter 0, or do not enter a value, the timeout is disabled and unknown messages are propagated to the unknown terminal upon receipt.

  3. Select the Transaction Mode to define the transactional characteristics of this message:
    • If you select the check box, the subsequent message flow is under transaction control. This remains true for messages that derive from the output message and are output by an MQOutput node, unless the MQOutput node explicitly overrides the transaction status. This is the default. (No other node can change the transactional characteristics of the output message.)
    • If you clear the check box, the subsequent message flow is not under transaction control. This remains true for messages that derive from the output message and are output by an MQOutput node, unless the MQOutput node has specified that the message should be put under syncpoint.
  4. Select Description in the properties dialog navigator to enter a short description, a long description, or both.
  5. Click Apply to make the changes to the AggregateReply node without closing the properties dialog. Click OK to apply the changes and close the properties dialog.

    Click Cancel to close the dialog and discard all the changes that you have made to the properties.

Terminals and properties

The AggregateReply node terminals are described in the following table.

Terminal Description
Control The input terminal that accepts control messages sent by a corresponding AggregateControl node.
Note: The Control terminal is deprecated in Version 6.0; to use connections to the Control terminal see Using control messages in aggregation flows.
In The input terminal that accepts a message for processing by the node.
Failure The output terminal to which the message is routed if a failure is detected during processing.
Unknown The output terminal to which messages are routed when they cannot be identified as valid reply messages.
Out The output terminal to which the compound message is routed when processing completes successfully.
Timeout The output terminal to which the incomplete compound message is routed when the timeout interval that is specified in the corresponding AggregateControl node has expired.
Catch The output terminal to which the message is routed if an exception is thrown downstream and then caught by this node.

The following tables describe the node properties; the column headed M indicates whether the property is mandatory (marked with an asterisk on the properties dialog if you must enter a value when no default is defined), the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the bar file to deploy it).

The AggregateReply node Basic properties are described in the following table.

Property M C Default Description
Aggregate Name Yes Yes   A name that can be used to associate the fan-in message flow with the fan-out message flow. This property is mandatory.
Unknown Message Timeout No No 0 The amount of time for which messages that cannot be identified as replies are held before being propagated to the unknown terminal.
Transaction Mode Yes No Selected Whether messages propagated by this node are put transactionally. If you select the check box, this action is performed.
Note: On z/OS, if the Unknown Message Timeout property is not set to zero, set the queue manager parameter EXPRYINT to 5.

The Description properties of the AggregateReply node are described in the following table.

Property M C Default Description
Short Description No No   A brief description of the node.
Long Description No No   Text that describes the purpose of the node in the message flow.