- 2.70.0 (latest)
- 2.69.0
- 2.68.2
- 2.67.0
- 2.66.0
- 2.65.0
- 2.63.1
- 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<ResponseT>
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<ResponseT> resultAlgorithm, TimedRetryAlgorithm timedAlgorithm) (deprecated)
public
RetryAlgorithm
(
ResultRetryAlgorithm<ResponseT>
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<ResponseT> resultAlgorithm, TimedRetryAlgorithmWithContext timedAlgorithm)
public
RetryAlgorithm
(
ResultRetryAlgorithmWithContext<ResponseT>
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<ResponseT>
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 |