Class RetryOptions

java.lang.Object
com.azure.core.http.policy.RetryOptions

public class RetryOptions extends Object
The RetryOptions class provides configuration options for retry strategies. It supports both ExponentialBackoffOptions and FixedDelayOptions.

This class is useful when you need to customize the behavior of retries in the HTTP pipeline. It allows you to specify the type of retry strategy and its options.

Here's a code sample of how to use this class:

In these examples, RetryOptions is created with either ExponentialBackoffOptions or FixedDelayOptions. These options can then be used to configure a retry policy in the HTTP pipeline.

 
 // Using ExponentialBackoffOptions
 ExponentialBackoffOptions exponentialOptions = new ExponentialBackoffOptions()
     .setMaxRetries(5)
     .setBaseDelay(Duration.ofSeconds(1))
     .setMaxDelay(Duration.ofSeconds(10));
 RetryOptions retryOptions = new RetryOptions(exponentialOptions);

 // Using FixedDelayOptions
 FixedDelayOptions fixedOptions = new FixedDelayOptions(3, Duration.ofSeconds(1));
 RetryOptions retryOptions = new RetryOptions(fixedOptions);
 
 
See Also:
  • Constructor Details

  • Method Details

    • getExponentialBackoffOptions

      public ExponentialBackoffOptions getExponentialBackoffOptions()
      Gets the configuration for exponential backoff if configured.
      Returns:
      The ExponentialBackoffOptions.
    • getFixedDelayOptions

      public FixedDelayOptions getFixedDelayOptions()
      Gets the configuration for exponential backoff if configured.
      Returns:
      The FixedDelayOptions.
    • getShouldRetryCondition

      public Predicate<RequestRetryCondition> getShouldRetryCondition()
      Gets the predicate that determines if a retry should be attempted.

      If null, the default behavior is to retry HTTP responses with status codes 408, 429, and any 500 status code that isn't 501 or 505. And to retry any Exception.

      Returns:
      The predicate that determines if a retry should be attempted.
    • setShouldRetryCondition

      public RetryOptions setShouldRetryCondition(Predicate<RequestRetryCondition> shouldRetryCondition)
      Sets the predicate that determines if a retry should be attempted.

      If null, the default behavior is to retry HTTP responses with status codes 408, 429, and any 500 status code that isn't 501 or 505. And to retry any Exception.

      Parameters:
      shouldRetryCondition - The predicate that determines if a retry should be attempted for the given HttpResponse.
      Returns:
      The updated RetryOptions object.