public interface ResultRetryAlgorithmWithContext<ResponseT> extends ResultRetryAlgorithm<ResponseT>
A result retry algorithm is responsible for the following operations (based on the response returned by the previous attempt or on the thrown exception):
- Accepting a task for retry so another attempt will be made.
- Canceling retrying process so the related java.util.concurrent.Future will be canceled.
- Creating TimedAttemptSettings for each subsequent retry attempt.
Implementations of this interface receive a RetryingContext that can contain specific RetrySettings and retryable codes that should be used to determine the retry behavior.
Implementations of this interface must be thread-safe.
Implements
com.google.api.gax.retrying.ResultRetryAlgorithm<ResponseT>Type Parameter | |
---|---|
Name | Description |
ResponseT |
Methods
createNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)
public abstract TimedAttemptSettings createNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)
Creates a next attempt TimedAttemptSettings.
Parameters | |
---|---|
Name | Description |
context | RetryingContext the retrying context of this invocation that can be used to determine the settings for the next attempt. |
previousThrowable | Throwable exception thrown by the previous attempt ( |
previousResponse | ResponseT response returned by the previous attempt |
previousSettings | TimedAttemptSettings previous attempt settings |
Returns | |
---|---|
Type | Description |
TimedAttemptSettings |
shouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse)
public abstract boolean shouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse)
Returns true
if another attempt should be made, or false
otherwise.
Parameters | |
---|---|
Name | Description |
context | RetryingContext the retrying context of this invocation that can be used to determine whether the call should be retried. |
previousThrowable | Throwable exception thrown by the previous attempt ( |
previousResponse | ResponseT response returned by the previous attempt. |
Returns | |
---|---|
Type | Description |
boolean |
Exceptions | |
---|---|
Type | Description |
CancellationException |