About this task
Information about the state of in-flight messages is held on storage queues that are
controlled by IBM® MQ, so you must install WebSphere MQ on the same computer as your integration server if you want to use
the capabilities that are provided by the aggregation nodes. The storage queues that hold the state
information are owned by the queue manager that is associated with the integration server.
If the integration server has the necessary permissions to create the default
system queues, they are created automatically when a flow containing aggregation nodes is deployed.
If the default queues are not created automatically, you can create them manually; see Creating the default system queues on a WebSphere MQ queue manager.
By
default, the storage queues used by all aggregation nodes are:
- SYSTEM.BROKER.AGGR.CONTROL
- SYSTEM.BROKER.AGGR.REPLY
- SYSTEM.BROKER.AGGR.REQUEST
- SYSTEM.BROKER.AGGR.UNKNOWN
- SYSTEM.BROKER.AGGR.TIMEOUT
However, you can control the queues that are used by different aggregation nodes by creating
alternative queues containing a QueuePrefix, and using an Aggregation policy to
specify the names of those queues for storing events.
Follow these steps to specify
the queues that are used to store event states, and to set the expiry
time of an aggregation:
- Create the storage queues to be used by the aggregation
nodes. The following queues are required:
- SYSTEM.BROKER.AGGR.QueuePrefix.CONTROL
- SYSTEM.BROKER.AGGR.QueuePrefix.REPLY
- SYSTEM.BROKER.AGGR.QueuePrefix.REQUEST
- SYSTEM.BROKER.AGGR.QueuePrefix.UNKNOWN
- SYSTEM.BROKER.AGGR.QueuePrefix.TIMEOUT
The QueuePrefix variable can contain any
characters that are valid in a WebSphere® MQ
queue name, but must be no longer than eight characters and must not
begin or end with a period (.). For example, SET1 and SET.1 are
valid queue prefixes, but .SET1 and SET1. are
invalid.
If you do not create the storage queues, IBM App Connect
Enterprise creates the set of queues when
the node is deployed; these queues are based on the default queues.
If the queues cannot be created, the message flow is not deployed.
- Create an Aggregation policy (see Creating policies with the IBM App Connect Enterprise Toolkit).
You can create a policy to be used with either a specific aggregation or with all aggregations in
an integration server. If the policy is to be used with a specific aggregation, ensure that the name
of the policy is the same as the name that you specify in the Aggregate name property on the AggregateControl and
AggregateReply nodes. If the policy is to be used with all
aggregations in an integration server, create the policy with the same name as the integration
server. However, the name of a policy cannot start with a digit; if
the name of the policy is to be the same as that of the integration server, ensure that the name of
the integration server does not start with a digit.
If you delete the Aggregation policy, the storage queues are not deleted automatically when the
policy is deleted, so you must delete them separately.
- Set the Queue prefix property to the required value (see Aggregation policy).
- Optional: Set the Timeout property to control the expiry time of an
aggregation.
- In the AggregateControl and AggregateReply nodes, ensure that the name of the Aggregation
policy is the same as the name that is specified in the Aggregate
name property on the Basic tab; for example,
myAggregation. If no Aggregation policy exists with the same name as the
Aggregate name property, and if a policy exists with the
same name as the integration server, that policy is used instead.
What to do next
The properties for the policy are not used by the integration server until you restart or
redeploy the message flow, or restart the integration server.