Interface BackOffPolicy
- All Known Subinterfaces:
SleepingBackOffPolicy<T>
- All Known Implementing Classes:
ExponentialBackOffPolicy
,ExponentialRandomBackOffPolicy
,FixedBackOffPolicy
,NoBackOffPolicy
,StatelessBackOffPolicy
,UniformRandomBackOffPolicy
public interface BackOffPolicy
Strategy interface to control back off between attempts in a single
retry operation
.
Implementations are expected to be thread-safe and should be designed for concurrent
access. Configuration for each implementation is also expected to be thread-safe but
need not be suitable for high load concurrent access.
For each block of retry operations the start(org.springframework.retry.RetryContext)
method is called and
implementations can return an implementation-specific
BackOffContext
that can be used to track state through subsequent back off
invocations. Each back off process is handled via a call to backOff(org.springframework.retry.backoff.BackOffContext)
.
The RetryTemplate
will pass in the
corresponding BackOffContext
object created by the call to start(org.springframework.retry.RetryContext)
.- Author:
- Rob Harrop, Dave Syer
-
Method Summary
Modifier and TypeMethodDescriptionvoid
backOff
(BackOffContext backOffContext) Back off/pause in an implementation-specific fashion.start
(RetryContext context) Start a new block of back off operations.
-
Method Details
-
start
Start a new block of back off operations. Implementations can choose to pause when this method is called, but normally it returns immediately.- Parameters:
context
- theRetryContext
context, which might contain information that we can use to decide how to proceed.- Returns:
- the implementation-specific
BackOffContext
or 'null
'.
-
backOff
Back off/pause in an implementation-specific fashion. The passed inBackOffContext
corresponds to the one created by the call tostart(org.springframework.retry.RetryContext)
for a given retry operation set.- Parameters:
backOffContext
- theBackOffContext
- Throws:
BackOffInterruptedException
- if the attempt at back off is interrupted.
-