Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Service Development | Working with JMS Triggers | Transient Error Handling for Non-Transacted JMS Triggers | Handling Retry Failure | Overview of Suspend and Retry Later for Retry Failure
 
Overview of Suspend and Retry Later for Retry Failure
The following table provides more information about how the Suspend and retry later option works.
Step
Description
1
Integration Server makes the final retry attempt and the trigger service or web service operation fails because of an ISRuntimeException.
2
Integration Server suspends the JMS trigger temporarily.
Note:
The change to the trigger state is temporary. Message processing will resume for the trigger if Integration Server restarts, the trigger is enabled or disabled, or the package containing the trigger reloads. You can also enable triggers manually using Integration Server Administrator or by invoking the pub.trigger:enableJMSTriggers service.
Important:
If you disable or suspend a SOAP-JMS trigger that acts as a listener for one or more provider web service descriptors, Integration Server will not retrieve any messages for those web service descriptors until the SOAP-JMS trigger is enabled.
3
Integration Server recovers the message back to the JMS provider. This indicates that the required resources are not ready to process the message and makes the message available for processing at a later time. For serial triggers, it also ensures that the message maintains its position at the top of trigger queue.
4
Optionally, Integration Server schedules and executes a resource monitoring service. A resource monitoring service is a service that you create to determine whether the resources associated with a trigger service are available. A resource monitoring service returns a single output parameter named isAvailable.
5
If the resource monitoring service indicates that the resources are available (that is, the value of isAvailable is true), Integration Server enables the trigger. Message processing and message retrieval resume for the JMS trigger.
If the resource monitoring service indicates that the resources are not available (that is, the value of isAvailable is false), Integration Server waits a short time interval (by default, 60 seconds) and then re-executes the resource monitoring service. Integration Server continues executing the resource monitoring service periodically until the service indicates the resources are available.
Tip:
You can change the frequency with which the resource monitoring service executes by modifying the value of the watt.server.jms.trigger.monitoringInterval property.
6
After Integration Server resumes the JMS trigger, Integration Server passes the message to the trigger. The trigger and trigger service (or web service operation) process the message just as they would any message received by the JMS trigger.
Note:
At this point, the retry count is set to 0 (zero).
In summary, the Suspend and retry later option provides a way to resubmit the message programmatically. It also prevents the trigger from retrieving and processing other messages until the cause of the transient error condition has been remedied.