Record Class MethodRetrySpec

java.lang.Object
java.lang.Record
org.springframework.aop.retry.MethodRetrySpec
Record Components:
includes - applicable exception types to attempt a retry for
excludes - non-applicable exception types to avoid a retry for
predicate - a predicate for filtering exceptions from applicable methods
maxAttempts - the maximum number of retry attempts
delay - the base delay after the initial invocation (in milliseconds)
jitterDelay - a jitter delay for the next retry attempt (in milliseconds)
delayMultiplier - a multiplier for a delay for the next retry attempt
maxDelay - the maximum delay for any retry attempt (in milliseconds)

public record MethodRetrySpec(Collection<Class<? extends Throwable>> includes, Collection<Class<? extends Throwable>> excludes, MethodRetryPredicate predicate, int maxAttempts, long delay, long jitterDelay, double delayMultiplier, long maxDelay) extends Record
A specification for retry attempts on a given method, combining common retry characteristics. This roughly matches the annotation attributes on Retryable.
Since:
7.0
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • MethodRetrySpec

      public MethodRetrySpec(MethodRetryPredicate predicate, int maxAttempts, long delay)
    • MethodRetrySpec

      public MethodRetrySpec(MethodRetryPredicate predicate, int maxAttempts, long delay, long jitterDelay, double delayMultiplier, long maxDelay)
    • MethodRetrySpec

      public MethodRetrySpec(Collection<Class<? extends Throwable>> includes, Collection<Class<? extends Throwable>> excludes, MethodRetryPredicate predicate, int maxAttempts, long delay, long jitterDelay, double delayMultiplier, long maxDelay)
      Creates an instance of a MethodRetrySpec record class.
      Parameters:
      includes - the value for the includes record component
      excludes - the value for the excludes record component
      predicate - the value for the predicate record component
      maxAttempts - the value for the maxAttempts record component
      delay - the value for the delay record component
      jitterDelay - the value for the jitterDelay record component
      delayMultiplier - the value for the delayMultiplier record component
      maxDelay - the value for the maxDelay record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • includes

      public Collection<Class<? extends Throwable>> includes()
      Returns the value of the includes record component.
      Returns:
      the value of the includes record component
    • excludes

      public Collection<Class<? extends Throwable>> excludes()
      Returns the value of the excludes record component.
      Returns:
      the value of the excludes record component
    • predicate

      public MethodRetryPredicate predicate()
      Returns the value of the predicate record component.
      Returns:
      the value of the predicate record component
    • maxAttempts

      public int maxAttempts()
      Returns the value of the maxAttempts record component.
      Returns:
      the value of the maxAttempts record component
    • delay

      public long delay()
      Returns the value of the delay record component.
      Returns:
      the value of the delay record component
    • jitterDelay

      public long jitterDelay()
      Returns the value of the jitterDelay record component.
      Returns:
      the value of the jitterDelay record component
    • delayMultiplier

      public double delayMultiplier()
      Returns the value of the delayMultiplier record component.
      Returns:
      the value of the delayMultiplier record component
    • maxDelay

      public long maxDelay()
      Returns the value of the maxDelay record component.
      Returns:
      the value of the maxDelay record component