Reordering messages in a message flow
When messages entering a message flow contain sequence numbers and a group ID, you can use the Resequence node to re-establish the sequential order of the messages before propagating them through the message flow.
Before you begin
Read the concept topic about Message sequencing.
Ensure that each message contains a monotonically increasing sequence number.
About this task
The sequence number might have been added to the message by the Sequence node or it might be another integer field in the message.
When the Resequence node receives an input message, it propagates the message only if it is the next one in the sequence. If the message is not next in the sequence, the Resequence node stores it until further messages arrive that allow the node to correct the sequence, at which point the node propagates the stored message. If a message fails to arrive, preventing the Resequence node from completing the sequence, the remaining messages are processed according to the way in which the Resequence node has been configured. For more information about this configuration, see Handling missing messages.
A transaction break occurs at the Resequence node. When a message is delivered to the Resequence node, control is returned to the previous node in the message flow. All messages that are propagated from the Resequence node are propagated in a new transaction, even if the sequence is complete. For more information, see Resequence node.
The message sequence is preserved when the integration node is restarted. If the Persistent option is selected on the Advanced tab of the Resequence node, the sequence is also preserved when the queue manager is restarted.
The following steps show how to create a message flow that enables you to re-establish the sequential order of the messages in a sequence group: