Interface ResultRetryAlgorithmWithContext<ResponseT> (2.48.0)

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):

  1. Accepting a task for retry so another attempt will be made.
  2. Canceling retrying process so the related java.util.concurrent.Future will be canceled.
  3. 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 (null, if none)

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 (null, if none)

previousResponse ResponseT

response returned by the previous attempt.

Returns
Type Description
boolean
Exceptions
Type Description
CancellationException