6 Response Retry

This route makes repetitive attempts to send the message to the client. If the route is not able to store a message at the first attempt, XEServer makes 3 more attempts to store the message (the number of attempts is controlled by the XEServer environment property ${RetryCountNum}), and if this fails, XEServer stores the message for further investigation

There are two ways to start the processing on this route: either manually or by timer. To activate the route processing manually and to disable route activation by timer, set the XEServer environment property ${TimerEnabled} to false and copy the file trigger.txt from the directory ${XESProfileConfig}/samples to the directory ${XESWorkspace}/test-data/Inbound/TriggerManual_ReplayDS.

Route Structure

6 Response Retry

Route Components Description

Component Name Component Type Description

ManualTrigger

FS Inbound Picks up a sample file from the file system to initiate the route processing. To do this, drop the sample file ${XESProfileConfig}/samples/trigger.txt to ${XESWorkspace}/test-data/Inbound/TriggerManual_ReplayDS and set the XEServer environment property ${TimerEnabled} to false.
Timer Reporting Timer Reporting Emits a trigger signal every 4 seconds to initiate route processing.
TimerEnabled? Router Conducts timer signals if the XEServer property TimerEnabled is set to true.
Retry FS Inbound Once the component receives a trigger signal (either manual or generated by a timer), the component picks up data from the 2 Sample_Route.

Note The component works in the By command activation mode, which means that the component waits for a signal to pick up data from the source folder.

Msg Stored DS Router Splits the message flow by checking the XEServer property Storage.
Primary, Secondary Data Storage Outbound The components store messages in Data Storage (either primary or secondary) using the XEServer property REPLAY_ID.
CPRetryIn FS Inbound When the route starts, the component scans the directory ${XESWorkspace}/test-data/outbound/Exchange/CPRetry}. This directory contains messages that come from the CPRetry Checkpoint's error output.
CPDSRetry Checkpoint Creates a checkpoint in the processing flow. If there is an error further down the route, the component rolls back the processing to the checkpoint position and attempts a retry. If the number of attempts exceeds the component's Retry limit value, the component directs the message to the component's error output.
WithinRetryLimit Router

Splits the data flow based on whether the current checkpoint retry attempt number is lower than the ${RetryCountNum} value. If the number of attempts exceeds the value, the component sends the message to the archive (Retry Error) for further investigation.

CPRetryOut FS Inbound Stores messages for another delivery attempt.
JMS NO Error Router Determines the destination for the message by checking the XEServer property ${JMS_Secondary--JMS_Good_Enabled_and_JMS_Bad_Disabled}.
Secondary Good, Secondary Bad JMS Outbound

The components send messages to 1 Client Route. Note that the components use different XEServer Data Storage services.

Tip The combination of the JMS Secondary Good, JMS Secondary Bad and JMS NO Error components emulates the work of a single JMS component in the Error or No Errors mode based on the value of the XEServer environment property ${JMS_Secondary--JMS_Good_Enabled_and_JMS_Bad_Disabled}