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.
| Name | Description |
| context | RetryingContextthe retrying context of this invocation that can be used to determine the settings for the next attempt. |
| previousThrowable | Throwableexception thrown by the previous attempt ( |
| previousResponse | ResponseTresponse returned by the previous attempt |
| previousSettings | TimedAttemptSettingsprevious attempt settings |
| 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.
| Name | Description |
| context | RetryingContextthe retrying context of this invocation that can be used to determine whether the call should be retried. |
| previousThrowable | Throwableexception thrown by the previous attempt ( |
| previousResponse | ResponseTresponse returned by the previous attempt. |
| Type | Description |
| boolean |
| Type | Description |
| CancellationException |