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.Throwable
java.lang.Exception
public <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.Throwable
java.lang.Exception
public 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.RetryOperations
E extends java.lang.Throwable
public 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.RetryOperations
E extends java.lang.Throwable
public 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.RetryOperations
E extends java.lang.Throwable
org.springframework.retry.ExhaustedRetryException
public 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.RetryOperations
E extends java.lang.Throwable
public 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)