Interface RetryOperations

All Known Implementing Classes:
RetryTemplate

public interface RetryOperations
Interface specifying basic retry operations.

Implemented by RetryTemplate. Not often used directly, but a useful option to enhance testability, as it can easily be mocked or stubbed.

Inspired by the Spring Retry project but redesigned as a minimal core retry feature in the Spring Framework.

Since:
7.0
Author:
Mahmoud Ben Hassine
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    <R extends @Nullable Object>
    R
    execute(Retryable<R> retryable)
    Execute the given Retryable operation according to the RetryPolicy configured at the implementation level.
  • Method Details

    • execute

      <R extends @Nullable Object> R execute(Retryable<R> retryable) throws RetryException
      Execute the given Retryable operation according to the RetryPolicy configured at the implementation level.

      If the Retryable succeeds, its result will be returned. Otherwise, a RetryException will be thrown to the caller. The RetryException will contain the last exception thrown by the Retryable operation as the cause and any exceptions from previous attempts as suppressed exceptions.

      Type Parameters:
      R - the type of the result
      Parameters:
      retryable - the Retryable to execute and retry if needed
      Returns:
      the result of the Retryable, if any
      Throws:
      RetryException - if the RetryPolicy is exhausted