Class 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 Detail

      • 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 Detail

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