Share via


AmqpRetryPolicy Class

  • java.lang.Object
    • com.azure.core.amqp.AmqpRetryPolicy

public abstract class AmqpRetryPolicy

An abstract representation of a policy to govern retrying of messaging operations.

Constructor Summary

Modifier Constructor Description
protected AmqpRetryPolicy(AmqpRetryOptions retryOptions)

Creates an instance with the given retry options.

Method Summary

Modifier and Type Method and Description
protected abstract Duration calculateRetryDelay(int retryCount, Duration baseDelay, Duration baseJitter, ThreadLocalRandom random)

Calculates the amount of time to delay before the next retry attempt based on the retryCount, baseDelay, and baseJitter.

Duration calculateRetryDelay(Throwable lastException, int retryCount)

Calculates the amount of time to delay before the next retry attempt.

boolean equals(Object obj)
int getMaxRetries()

Gets the maximum number of retry attempts.

AmqpRetryOptions getRetryOptions()

Gets the set of options used to configure this retry policy.

int hashCode()

Methods inherited from java.lang.Object

Constructor Details

AmqpRetryPolicy

protected AmqpRetryPolicy(AmqpRetryOptions retryOptions)

Creates an instance with the given retry options. If getMaxDelay(), getDelay(), or getMaxRetries() is equal to Duration#ZERO or zero, requests failing with a retriable exception will not be retried.

Parameters:

retryOptions - The options to set on this retry policy.

Method Details

calculateRetryDelay

protected abstract Duration calculateRetryDelay(int retryCount, Duration baseDelay, Duration baseJitter, ThreadLocalRandom random)

Calculates the amount of time to delay before the next retry attempt based on the retryCount, baseDelay, and baseJitter.

Parameters:

retryCount - The number of attempts that have been made, including the initial attempt before any retries.
baseDelay - The base delay for a retry attempt.
baseJitter - The base jitter delay.
random - The random number generator. Can be utilised to calculate a random jitter value for the retry.

Returns:

The amount of time to delay before retrying to associated operation; or null if the it cannot be retried.

calculateRetryDelay

public Duration calculateRetryDelay(Throwable lastException, int retryCount)

Calculates the amount of time to delay before the next retry attempt.

Parameters:

lastException - The last exception that was observed for the operation to be retried.
retryCount - The number of attempts that have been made, including the initial attempt before any retries.

Returns:

The amount of time to delay before retrying the associated operation; if null, then the operation is no longer eligible to be retried.

equals

public boolean equals(Object obj)

Overrides:

AmqpRetryPolicy.equals(Object obj)

Parameters:

obj

getMaxRetries

public int getMaxRetries()

Gets the maximum number of retry attempts.

Returns:

The maximum number of retry attempts.

getRetryOptions

public AmqpRetryOptions getRetryOptions()

Gets the set of options used to configure this retry policy.

Returns:

The set of options used to configure this retry policy.

hashCode

public int hashCode()

Overrides:

AmqpRetryPolicy.hashCode()

Applies to