public class RequestHandlerRetryAdvice extends AbstractRequestHandlerAdvice implements org.springframework.retry.RetryListener
RetryTemplate
; stateful retry means the
exception is thrown but state is maintained to support
the retry policies. Stateful retry requires a
RetryStateGenerator
.AbstractRequestHandlerAdvice.ExecutionCallback
logger
EXPRESSION_PARSER
Constructor and Description |
---|
RequestHandlerRetryAdvice() |
Modifier and Type | Method and Description |
---|---|
<T,E extends java.lang.Throwable> |
close(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T,E> callback,
java.lang.Throwable throwable) |
protected java.lang.Object |
doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback,
java.lang.Object target,
org.springframework.messaging.Message<?> message)
Subclasses implement this method to apply behavior to the
MessageHandler . |
<T,E extends java.lang.Throwable> |
onError(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T,E> callback,
java.lang.Throwable throwable) |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
<T,E extends java.lang.Throwable> |
open(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T,E> callback) |
void |
setRecoveryCallback(org.springframework.retry.RecoveryCallback<java.lang.Object> recoveryCallback) |
void |
setRetryStateGenerator(RetryStateGenerator retryStateGenerator) |
void |
setRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate) |
invoke, unwrapExceptionIfNecessary, unwrapThrowableIfNecessary
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getComponentType, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
public void setRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate)
public void setRecoveryCallback(org.springframework.retry.RecoveryCallback<java.lang.Object> recoveryCallback)
public void setRetryStateGenerator(RetryStateGenerator retryStateGenerator)
protected void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class IntegrationObjectSupport
java.lang.Exception
- Any exception.protected java.lang.Object doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback, java.lang.Object target, org.springframework.messaging.Message<?> message) throws java.lang.Exception
AbstractRequestHandlerAdvice
MessageHandler
.
callback.execute() invokes the handler method and returns its result, or null.
doInvoke
in class AbstractRequestHandlerAdvice
callback
- Subclasses invoke the execute() method on this interface to invoke the handler method.target
- The target handler.message
- The message that will be sent to the handler.MessageHandler
.java.lang.Exception
- Any Exception.public <T,E extends java.lang.Throwable> boolean open(org.springframework.retry.RetryContext context, org.springframework.retry.RetryCallback<T,E> callback)
open
in interface org.springframework.retry.RetryListener
public <T,E extends java.lang.Throwable> void close(org.springframework.retry.RetryContext context, org.springframework.retry.RetryCallback<T,E> callback, java.lang.Throwable throwable)
close
in interface org.springframework.retry.RetryListener
public <T,E extends java.lang.Throwable> void onError(org.springframework.retry.RetryContext context, org.springframework.retry.RetryCallback<T,E> callback, java.lang.Throwable throwable)
onError
in interface org.springframework.retry.RetryListener