Class RetryAlgorithm<ResponseT> (2.41.0)

  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.

Inheritance

java.lang.Object > RetryAlgorithm<ResponseT>

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 <xref uid="com.google.api.gax.retrying.RetryAlgorithm.RetryAlgorithm(com.google.api.gax.retrying.ResultRetryAlgorithmWithContext<ResponseT>,com.google.api.gax.retrying.TimedRetryAlgorithmWithContext)" data-throw-if-not-resolved="false">#RetryAlgorithm(ResultRetryAlgorithmWithContext, TimedRetryAlgorithmWithContext) to create an instance that will respect the RetryingContext .

Parameters
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.

Parameters
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 .

Returns
Type
Description

first attempt settings

createFirstAttempt(RetryingContext context)

  public 
  
 TimedAttemptSettings 
  
 createFirstAttempt 
 ( 
 RetryingContext 
  
 context 
 ) 
 

Creates a first attempt TimedAttemptSettings .

Parameter
Name
Description
context
RetryingContext

the RetryingContext that can be used to get the initial RetrySettings

Returns
Type
Description

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.

Parameters
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

Returns
Type
Description

next attempt settings, can be null , if there should be no new attempt

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.

Parameters
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

Returns
Type
Description

next attempt settings, can be null , if no there should be no new attempt

getResultAlgorithm()

  public 
  
 ResultRetryAlgorithm<ResponseT> 
  
 getResultAlgorithm 
 () 
 
Returns
Type
Description
ResultRetryAlgorithm < ResponseT >

getTimedAlgorithm()

  public 
  
 TimedRetryAlgorithm 
  
 getTimedAlgorithm 
 () 
 
Returns
Type
Description

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.

Parameters
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

Returns
Type
Description

true if another attempt should be made, or false otherwise

Exceptions
Type
Description

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.

Parameters
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

Returns
Type
Description

true if another attempt should be made, or false otherwise

Exceptions
Type
Description

if the retrying process should be canceled

Design a Mobile Site
View Site in Mobile | Classic
Share by: