Software AG Products 10.7 | Service Development Help | Building Services | About Automatic Service Retry
 
About Automatic Service Retry
 
About the Maximum Retry Period
Configuring Service Retry
You can set Integration Server so that it retries a service if the service fails because of a transient error. A transient error is an error that arises from a temporary condition that might be resolved or restored quickly, such as the unavailability of a resource due to network issues or failure to connect to a database. The service might execute successfully if Integration Server waits a short interval of time and then retries the service.
To set up automatic service retry:
*Configure each service you want Integration Server to automatically retry by specifying:
*Retry interval, which defines how long Integration Server waits before trying to re-execute the service.
*Maximum retry attempts, which is the number of times you want Integration Server to try to re-execute the service.
For more information, see Configuring Service Retry.
*Configure the watt.server.invoke.maxRetryPeriod server configuration parameter to set the maximum retry period. The maximum retry period is the total amount of time that can elapse for Integration Server to make all possible retry attempts. For more information, see About the Maximum Retry Period.
*Build your service so that it throws an ISRuntimeException when a transient error occurs. For more information, see Building Services that Retry.
At run time, when a service that is coded for retry determines that a transient error occurred, it throws an ISRuntimeException to signal Integration Server to retry the service. When a service throws an ISRuntimeException, Integration Server waits the length of the retry interval and then re-executes the service using the original input pipeline passed to the service. Integration Server continues to retry the service until the service executes successfully or Integration Server makes the maximum number of retry attempts. If the service throws an ISRuntimeException during the final retry attempt, Integration Server treats the last failure as a service error. The service ends with a service exception.
Integration Server generates the following journal log message between retry attempts:
[ISS.0014.0031V3] Service serviceName failed with ISRuntimeException.
Retry x of y will begin in retryInterval milliseconds.
Note:
If service auditing is also configured for the service, Integration Server adds an entry to the service log for each failed retry attempt. Each of these entries will have a status of “Retried” and an error message of “Null”. However, if Integration Server makes the maximum retry attempts and the service still fails, the final service log entry for the service will have a status of “Failed” and will display the actual error message.