Class ExponentialAmqpRetryPolicy

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

public class ExponentialAmqpRetryPolicy extends AmqpRetryPolicy
A policy to govern retrying of messaging operations in which the delay between retries will grow in an exponential manner, allowing more time to recover as the number of retries increases.
  • Constructor Details

    • ExponentialAmqpRetryPolicy

      public ExponentialAmqpRetryPolicy(AmqpRetryOptions retryOptions)
      Creates a new instance with a minimum and maximum retry period in addition to maximum number of retry attempts.
      Parameters:
      retryOptions - The options to apply to this retry policy.
      Throws:
      NullPointerException - if retryOptions is null.
  • Method Details

    • calculateRetryDelay

      protected Duration calculateRetryDelay(int retryCount, Duration baseDelay, Duration baseJitter, ThreadLocalRandom random)
      Calculates the retry delay using exponential backoff.
      Specified by:
      calculateRetryDelay in class AmqpRetryPolicy
      Parameters:
      retryCount - The number of attempts that have been made, including the initial attempt before any retries.
      baseDelay - The delay to use for the basis of the exponential backoff.
      baseJitter - The duration to use for the basis of the random jitter value.
      random - The random number generator used to calculate the jitter.
      Returns:
      The duration to delay before retrying a request.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class AmqpRetryPolicy
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class AmqpRetryPolicy