- 2.63.1 (latest)
- 2.62.0
- 2.61.0
- 2.60.0
- 2.59.1
- 2.58.0
- 2.57.0
- 2.55.0
- 2.54.1
- 2.53.0
- 2.52.0
- 2.51.0
- 2.50.0
- 2.49.0
- 2.48.1
- 2.47.0
- 2.46.1
- 2.45.0
- 2.43.0
- 2.42.0
- 2.41.0
- 2.39.0
- 2.38.0
- 2.37.0
- 2.36.0
- 2.35.0
- 2.34.1
- 2.33.0
- 2.32.1
- 2.31.1
- 2.30.1
- 2.24.0
- 2.23.3
- 2.22.0
- 2.21.0
- 2.20.1
- 2.19.6
- 2.18.7
- 2.17.0
- 2.16.0
- 2.15.0
- 2.14.0
- 2.13.0
- 2.12.2
- 2.11.0
- 2.10.0
- 2.9.0
- 2.8.1
- 2.7.1
public class RetryAlgorithm
The retry algorithm, which makes decision based either on the thrown exception or the returned response, and the execution time settings of the previous attempt.
This class is thread-safe.
Type Parameter
Name | Description |
ResponseT |
Constructors
RetryAlgorithm(ResultRetryAlgorithm resultAlgorithm, TimedRetryAlgorithm timedAlgorithm) (deprecated)
public RetryAlgorithm(ResultRetryAlgorithm resultAlgorithm, TimedRetryAlgorithm timedAlgorithm)
Deprecated. use RetryAlgorithm#RetryAlgorithm(ResultRetryAlgorithmWithContext, TimedRetryAlgorithmWithContext) instead
Creates a new retry algorithm instance, which uses thrown exception or returned response and timed algorithms to make a decision. The result algorithm has higher priority than the timed algorithm.
Instances that are created using this constructor will ignore the RetryingContext that is passed in to the retrying methods. Use #RetryAlgorithm(ResultRetryAlgorithmWithContext, TimedRetryAlgorithmWithContext) to create an instance that will respect the RetryingContext.
Name | Description |
resultAlgorithm | ResultRetryAlgorithm<ResponseT> result algorithm to use |
timedAlgorithm | TimedRetryAlgorithm timed algorithm to use |
RetryAlgorithm(ResultRetryAlgorithmWithContext resultAlgorithm, TimedRetryAlgorithmWithContext timedAlgorithm)
public RetryAlgorithm(ResultRetryAlgorithmWithContext resultAlgorithm, TimedRetryAlgorithmWithContext timedAlgorithm)
Creates a new retry algorithm instance, which uses thrown exception or returned response and timed algorithms to make a decision. The result algorithm has higher priority than the timed algorithm.
Name | Description |
resultAlgorithm | ResultRetryAlgorithmWithContext<ResponseT> result algorithm to use |
timedAlgorithm | TimedRetryAlgorithmWithContext timed algorithm to use |
Methods
createFirstAttempt() (deprecated)
public TimedAttemptSettings createFirstAttempt()
Deprecated. use #createFirstAttempt(RetryingContext) instead
Creates a first attempt TimedAttemptSettings.
Type | Description |
TimedAttemptSettings | first attempt settings |
createFirstAttempt(RetryingContext context)
public TimedAttemptSettings createFirstAttempt(RetryingContext context)
Creates a first attempt TimedAttemptSettings.
Name | Description |
context | RetryingContext the RetryingContext that can be used to get the initial RetrySettings |
Type | Description |
TimedAttemptSettings | first attempt settings |
createNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)
public TimedAttemptSettings createNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)
Creates a next attempt TimedAttemptSettings. This method will return first non-null value, returned by either result or timed retry algorithms in that particular order.
Name | Description |
context | RetryingContext the RetryingContext that can be used to determine the RetrySettings for the next attempt |
previousThrowable | Throwable exception thrown by the previous attempt or null if a result was returned instead |
previousResponse | ResponseT response returned by the previous attempt or null if an exception was thrown instead |
previousSettings | TimedAttemptSettings previous attempt settings |
Type | Description |
TimedAttemptSettings | next attempt settings, can be |
createNextAttempt(Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings) (deprecated)
public TimedAttemptSettings createNextAttempt(Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)
Deprecated. use #createNextAttempt(RetryingContext, Throwable, Object, TimedAttemptSettings) instead
Creates a next attempt TimedAttemptSettings. This method will return first non-null value, returned by either result or timed retry algorithms in that particular order.
Name | Description |
previousThrowable | Throwable exception thrown by the previous attempt or null if a result was returned instead |
previousResponse | ResponseT response returned by the previous attempt or null if an exception was thrown instead |
previousSettings | TimedAttemptSettings previous attempt settings |
Type | Description |
TimedAttemptSettings | next attempt settings, can be |
getResultAlgorithm()
public ResultRetryAlgorithm getResultAlgorithm()
Type | Description |
ResultRetryAlgorithm<ResponseT> |
getTimedAlgorithm()
public TimedRetryAlgorithm getTimedAlgorithm()
Type | Description |
TimedRetryAlgorithm |
shouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings nextAttemptSettings)
public boolean shouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings nextAttemptSettings)
Returns true
if another attempt should be made, or false
otherwise.
Name | Description |
context | RetryingContext the RetryingContext that can be used to determine whether another attempt should be made |
previousThrowable | Throwable exception thrown by the previous attempt or null if a result was returned instead |
previousResponse | ResponseT response returned by the previous attempt or null if an exception was thrown instead |
nextAttemptSettings | TimedAttemptSettings attempt settings, which will be used for the next attempt, if accepted |
Type | Description |
boolean |
|
Type | Description |
CancellationException | if the retrying process should be cancelled |
shouldRetry(Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings nextAttemptSettings) (deprecated)
public boolean shouldRetry(Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings nextAttemptSettings)
Deprecated. use #shouldRetry(RetryingContext, Throwable, Object, TimedAttemptSettings) instead
Returns true
if another attempt should be made, or false
otherwise.
Name | Description |
previousThrowable | Throwable exception thrown by the previous attempt or null if a result was returned instead |
previousResponse | ResponseT response returned by the previous attempt or null if an exception was thrown instead |
nextAttemptSettings | TimedAttemptSettings attempt settings, which will be used for the next attempt, if accepted |
Type | Description |
boolean |
|
Type | Description |
CancellationException | if the retrying process should be canceled |