Handling missing messages
You can configure the Resequence node to control how missing messages in a sequence are processed.
About this task
You can configure the Resequence node to time out if a message in the sequence fails to arrive in a specified period of time, and you can specify how subsequent messages are processed if a message is missing.
You can use the Missing message timeout property of the Resequence node to specify how long (in seconds) the node waits for the next message in the sequence before it moves on to the next message. Messages that arrive within the specified time limit are propagated in sequential order to the Out terminal. When the specified time limit has been exceeded, the messages are propagated in sequential order to the Expire terminal. Subsequent messages in the sequence group are also routed to the Expire terminal. If the missing message eventually arrives, it is propagated to the Missing terminal.
- The message sequence must always be maintained
If a message goes missing, you can route all subsequent messages to a holding queue after a specified timeout period. To configure the Resequence node in this way, wire the Out terminal to the main-line flow and wire the Expire and Missing terminals to separate branches for re-queueing.
- Missing messages are allowed in the message sequence but all
other messages must remain in sequence
If a message goes missing, you can pass over it and continue processing the rest of the sequence. If the missing message eventually arrives, you can either discard it or process it separately from the main-line processing. To configure the Resequence node in this way, wire the Out and Expire terminals to the main-line flow and leave the Missing terminal unwired (to discard the message) or wire it to a separate branch of the message flow.
- Occasional out-of-sequence messages are allowed
You want the message flow to process the messages in sequential order, but you are prepared to tolerate occasional messages out of order. To configure the Resequence node in this way, wire the Out, Expire, and Missing terminals to the main-line message flow.