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 |
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 |
| 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 |
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. |
| Returns | |
|---|---|
| Type | Description |
boolean |
|
| Exceptions | |
|---|---|
| Type | Description |
CancellationException |
|