public class BatchRetryTemplate
extends java.lang.Object
implements org.springframework.retry.RetryOperations
RetryState used in the
execute methods is composite, and when a failure occurs, all of the keys in
the composite are "tarred with the same brush". Subsequent attempts to
execute with any of the keys that have failed previously results in a new
attempt and the previous state is used to check the RetryPolicy. If
one of the failed items eventually succeeds then the others in the current
composite for that attempt will be cleared from the context cache (as
normal), but there may still be entries in the cache for the original failed
items. This might mean that an item that did not cause a failure is never
retried because other items in the same batch fail fatally first.| Constructor and Description |
|---|
BatchRetryTemplate() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canRetry(org.springframework.retry.RetryContext context) |
static java.util.List<org.springframework.retry.RetryState> |
createState(java.util.List<?> keys) |
static java.util.List<org.springframework.retry.RetryState> |
createState(java.util.List<?> keys,
org.springframework.classify.Classifier<? super java.lang.Throwable,java.lang.Boolean> classifier) |
<T,E extends java.lang.Throwable> |
execute(org.springframework.retry.RetryCallback<T,E> retryCallback) |
<T,E extends java.lang.Throwable> |
execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
java.util.Collection<org.springframework.retry.RetryState> states) |
<T,E extends java.lang.Throwable> |
execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RecoveryCallback<T> recoveryCallback) |
<T,E extends java.lang.Throwable> |
execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RecoveryCallback<T> recoveryCallback,
java.util.Collection<org.springframework.retry.RetryState> states) |
<T,E extends java.lang.Throwable> |
execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RecoveryCallback<T> recoveryCallback,
org.springframework.retry.RetryState retryState) |
<T,E extends java.lang.Throwable> |
execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RetryState retryState) |
void |
registerListener(org.springframework.retry.RetryListener listener) |
void |
setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy backOffPolicy) |
void |
setListeners(org.springframework.retry.RetryListener[] listeners) |
void |
setRetryContextCache(org.springframework.retry.policy.RetryContextCache retryContextCache) |
void |
setRetryPolicy(org.springframework.retry.RetryPolicy retryPolicy) |
public <T,E extends java.lang.Throwable> T execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
java.util.Collection<org.springframework.retry.RetryState> states)
throws E extends java.lang.Throwable,
java.lang.Exception
E extends java.lang.Throwablejava.lang.Exceptionpublic <T,E extends java.lang.Throwable> T execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RecoveryCallback<T> recoveryCallback,
java.util.Collection<org.springframework.retry.RetryState> states)
throws E extends java.lang.Throwable,
java.lang.Exception
E extends java.lang.Throwablejava.lang.Exceptionpublic final <T,E extends java.lang.Throwable> T execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RecoveryCallback<T> recoveryCallback,
org.springframework.retry.RetryState retryState)
throws E extends java.lang.Throwable
execute in interface org.springframework.retry.RetryOperationsE extends java.lang.Throwablepublic final <T,E extends java.lang.Throwable> T execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RecoveryCallback<T> recoveryCallback)
throws E extends java.lang.Throwable
execute in interface org.springframework.retry.RetryOperationsE extends java.lang.Throwablepublic final <T,E extends java.lang.Throwable> T execute(org.springframework.retry.RetryCallback<T,E> retryCallback,
org.springframework.retry.RetryState retryState)
throws E extends java.lang.Throwable,
org.springframework.retry.ExhaustedRetryException
execute in interface org.springframework.retry.RetryOperationsE extends java.lang.Throwableorg.springframework.retry.ExhaustedRetryExceptionpublic final <T,E extends java.lang.Throwable> T execute(org.springframework.retry.RetryCallback<T,E> retryCallback)
throws E extends java.lang.Throwable
execute in interface org.springframework.retry.RetryOperationsE extends java.lang.Throwablepublic static java.util.List<org.springframework.retry.RetryState> createState(java.util.List<?> keys)
public static java.util.List<org.springframework.retry.RetryState> createState(java.util.List<?> keys,
org.springframework.classify.Classifier<? super java.lang.Throwable,java.lang.Boolean> classifier)
public void registerListener(org.springframework.retry.RetryListener listener)
public void setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy backOffPolicy)
public void setListeners(org.springframework.retry.RetryListener[] listeners)
public void setRetryContextCache(org.springframework.retry.policy.RetryContextCache retryContextCache)
public void setRetryPolicy(org.springframework.retry.RetryPolicy retryPolicy)
public boolean canRetry(org.springframework.retry.RetryContext context)