Class RetryUtils.RetryPolicy

java.lang.Object
dev.langchain4j.internal.RetryUtils.RetryPolicy
Enclosing class:
RetryUtils

public static final class RetryUtils.RetryPolicy extends Object
This class encapsulates a retry policy.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    This class encapsulates a retry policy builder.
  • Constructor Summary

    Constructors
    Constructor
    Description
    RetryPolicy(int maxAttempts, int delayMillis, double jitterScale, double backoffExp)
    Construct a RetryPolicy.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    jitterDelayMillis(int attempt)
    This method returns the jitter delay in milliseconds for a given attempt.
    double
    rawDelayMs(int attempt)
    This method returns the raw delay in milliseconds for a given attempt.
    void
    sleep(int attempt)
    This method sleeps for a given attempt.
    <T> T
    withRetry(Callable<T> action)
    This method attempts to execute a given action up to a specified number of times with a 1-second delay.
    <T> T
    withRetry(Callable<T> action, int maxAttempts)
    This method attempts to execute a given action up to a specified number of times with a 1-second delay.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RetryPolicy

      public RetryPolicy(int maxAttempts, int delayMillis, double jitterScale, double backoffExp)
      Construct a RetryPolicy.
      Parameters:
      maxAttempts - The maximum number of attempts.
      delayMillis - The delay in milliseconds.
      jitterScale - The jitter scale.
      backoffExp - The backoff exponent.
  • Method Details

    • rawDelayMs

      public double rawDelayMs(int attempt)
      This method returns the raw delay in milliseconds for a given attempt.
      Parameters:
      attempt - The attempt number.
      Returns:
      The raw delay in milliseconds.
    • jitterDelayMillis

      public int jitterDelayMillis(int attempt)
      This method returns the jitter delay in milliseconds for a given attempt.
      Parameters:
      attempt - The attempt number.
      Returns:
      The jitter delay in milliseconds.
    • sleep

      public void sleep(int attempt)
      This method sleeps for a given attempt.
      Parameters:
      attempt - The attempt number.
    • withRetry

      public <T> T withRetry(Callable<T> action)
      This method attempts to execute a given action up to a specified number of times with a 1-second delay. If the action fails on all attempts, it throws a RuntimeException.
      Type Parameters:
      T - The type of the result of the action.
      Parameters:
      action - The action to be executed.
      Returns:
      The result of the action if it is successful.
      Throws:
      RuntimeException - if the action fails on all attempts.
    • withRetry

      public <T> T withRetry(Callable<T> action, int maxAttempts)
      This method attempts to execute a given action up to a specified number of times with a 1-second delay. If the action fails on all attempts, it throws a RuntimeException.
      Type Parameters:
      T - The type of the result of the action.
      Parameters:
      action - The action to be executed.
      maxAttempts - The maximum number of attempts to execute the action.
      Returns:
      The result of the action if it is successful.
      Throws:
      RuntimeException - if the action fails on all attempts.