org.springframework.integration.handler.advice
Class RequestHandlerRetryAdvice
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice
org.springframework.integration.handler.advice.RequestHandlerRetryAdvice
- All Implemented Interfaces:
- org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, NamedComponent, org.springframework.retry.RetryListener
public class RequestHandlerRetryAdvice
- extends AbstractRequestHandlerAdvice
- implements org.springframework.retry.RetryListener
Uses spring-retry to perform stateless or stateful retry.
Stateless retry means the retries are performed internally
by the RetryTemplate
; stateful retry means the
exception is thrown but state is maintained to support
the retry policies. Stateful retry requires a
RetryStateGenerator
.
- Since:
- 2.2
- Author:
- Gary Russell, Artem Bilan
Method Summary |
|
close(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T> callback,
java.lang.Throwable throwable)
|
protected java.lang.Object |
doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback,
java.lang.Object target,
Message<?> message)
Subclasses implement this method to apply behavior to the MessageHandler . callback.execute()
invokes the handler method and returns its result, or null. |
|
onError(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T> callback,
java.lang.Throwable throwable)
|
protected void |
onInit()
Subclasses may implement this for initialization logic. |
|
open(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T> callback)
|
void |
setRecoveryCallback(org.springframework.retry.RecoveryCallback<java.lang.Object> recoveryCallback)
|
void |
setRetryStateGenerator(RetryStateGenerator retryStateGenerator)
|
void |
setRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate)
|
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
afterPropertiesSet, getBeanFactory, getComponentName, getComponentType, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RequestHandlerRetryAdvice
public RequestHandlerRetryAdvice()
setRetryTemplate
public void setRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate)
setRecoveryCallback
public void setRecoveryCallback(org.springframework.retry.RecoveryCallback<java.lang.Object> recoveryCallback)
setRetryStateGenerator
public void setRetryStateGenerator(RetryStateGenerator retryStateGenerator)
onInit
protected void onInit()
throws java.lang.Exception
- Description copied from class:
IntegrationObjectSupport
- Subclasses may implement this for initialization logic.
- Overrides:
onInit
in class IntegrationObjectSupport
- Throws:
java.lang.Exception
doInvoke
protected java.lang.Object doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback,
java.lang.Object target,
Message<?> message)
throws java.lang.Exception
- Description copied from class:
AbstractRequestHandlerAdvice
- Subclasses implement this method to apply behavior to the
MessageHandler
. callback.execute()
invokes the handler method and returns its result, or null.
- Specified by:
doInvoke
in class AbstractRequestHandlerAdvice
- Parameters:
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.
- Returns:
- the result after invoking the
MessageHandler
.
- Throws:
java.lang.Exception
open
public <T> boolean open(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T> callback)
- Specified by:
open
in interface org.springframework.retry.RetryListener
close
public <T> void close(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T> callback,
java.lang.Throwable throwable)
- Specified by:
close
in interface org.springframework.retry.RetryListener
onError
public <T> void onError(org.springframework.retry.RetryContext context,
org.springframework.retry.RetryCallback<T> callback,
java.lang.Throwable throwable)
- Specified by:
onError
in interface org.springframework.retry.RetryListener