Class AmqpRetryOptions

java.lang.Object
com.azure.core.amqp.AmqpRetryOptions

public class AmqpRetryOptions extends Object
A set of options that can be specified to influence how retry attempts are made.
  • Constructor Details

    • AmqpRetryOptions

      public AmqpRetryOptions()
      Creates an instance with the default retry options set.
    • AmqpRetryOptions

      public AmqpRetryOptions(AmqpRetryOptions retryOptions)
      Creates an instance configured with retryOptions. This is not thread-safe.
      Parameters:
      retryOptions - Retry options to configure new instance with.
      Throws:
      NullPointerException - if retryOptions is null.
  • Method Details

    • setMode

      public AmqpRetryOptions setMode(AmqpRetryMode retryMode)
      Sets the approach to use for calculating retry delays.
      Parameters:
      retryMode - The retry approach to use for calculating delays.
      Returns:
      The updated AmqpRetryOptions object.
    • setMaxRetries

      public AmqpRetryOptions setMaxRetries(int numberOfRetries)
      Sets the maximum number of retry attempts before considering the associated operation to have failed.
      Parameters:
      numberOfRetries - The maximum number of retry attempts.
      Returns:
      The updated AmqpRetryOptions object.
      Throws:
      IllegalArgumentException - When numberOfRetries is negative.
    • setDelay

      public AmqpRetryOptions setDelay(Duration delay)
      Gets the delay between retry attempts for a fixed approach or the delay on which to base calculations for a backoff-approach.
      Parameters:
      delay - The delay between retry attempts.
      Returns:
      The updated AmqpRetryOptions object.
      Throws:
      NullPointerException - When delay is null.
      IllegalArgumentException - When delay is negative or zero.
    • setMaxDelay

      public AmqpRetryOptions setMaxDelay(Duration maximumDelay)
      Sets the maximum permissible delay between retry attempts.
      Parameters:
      maximumDelay - The maximum permissible delay between retry attempts.
      Returns:
      The updated AmqpRetryOptions object.
      Throws:
      NullPointerException - When maximumDelay is null.
      IllegalArgumentException - When maximumDelay is negative or zero.
    • setTryTimeout

      public AmqpRetryOptions setTryTimeout(Duration tryTimeout)
      Sets the maximum duration to wait for completion of a single attempt, whether the initial attempt or a retry.
      Parameters:
      tryTimeout - The maximum duration to wait for completion.
      Returns:
      The updated AmqpRetryOptions object.
      Throws:
      NullPointerException - When tryTimeout is null.
      IllegalArgumentException - When tryTimeout is negative or zero.
    • getMode

      public AmqpRetryMode getMode()
      Gets the approach to use for calculating retry delays.
      Returns:
      The approach to use for calculating retry delays.
    • getMaxRetries

      public int getMaxRetries()
      The maximum number of retry attempts before considering the associated operation to have failed.
      Returns:
      The maximum number of retry attempts before considering the associated operation to have failed.
    • getDelay

      public Duration getDelay()
      Gets the delay between retry attempts for a fixed approach or the delay on which to base calculations for a backoff-approach.
      Returns:
      The delay between retry attempts.
    • getMaxDelay

      public Duration getMaxDelay()
      Gets the maximum permissible delay between retry attempts.
      Returns:
      The maximum permissible delay between retry attempts.
    • getTryTimeout

      public Duration getTryTimeout()
      Gets the maximum duration to wait for completion of a single attempt, whether the initial attempt or a retry.
      Returns:
      The maximum duration to wait for completion of a single attempt, whether the initial attempt or a retry.
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object