Class RetrySimulator
java.lang.Object
org.springframework.retry.support.RetrySimulator
A
RetrySimulator
is a tool for exercising retry + backoff operations.
When calibrating a set of retry + backoff pairs, it is useful to know the behaviour of
the retry for various scenarios.
Things you may want to know: - Does a 'maxInterval' of 5000 ms in my backoff even
matter? (This is often the case when retry counts are low -- so why set the max
interval at something that cannot be achieved?) - What are the typical sleep durations
for threads in a retry - What was the longest sleep duration for any retry sequence
The simulator provides this information by executing a retry + backoff pair until
failure (that is all retries are exhausted). The information about each retry is
provided as part of the RetrySimulation
.
Note that the impetus for this class was to expose the timings which are possible with
ExponentialRandomBackOffPolicy
, which
provides random values and must be looked at over a series of trials.- Author:
- Jon Travis
-
Constructor Summary
ConstructorDescriptionRetrySimulator
(SleepingBackOffPolicy<?> backOffPolicy, RetryPolicy retryPolicy) -
Method Summary
Modifier and TypeMethodDescriptionexecuteSimulation
(int numSimulations) Execute the simulator for a give # of iterations.Execute a single simulation
-
Constructor Details
-
RetrySimulator
-
-
Method Details
-
executeSimulation
Execute the simulator for a give # of iterations.- Parameters:
numSimulations
- Number of simulations to run- Returns:
- the outcome of all simulations
-
executeSingleSimulation
Execute a single simulation- Returns:
- The sleeps which occurred within the single simulation.
-