Class 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, org.springframework.context.ApplicationContextAware, ExpressionCapable, 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
  • Constructor Details

  • Method Details

    • setRetryTemplate

      public void setRetryTemplate​(org.springframework.retry.support.RetryTemplate retryTemplate)
      Set the retry template. Cause traversal should be enabled in the retry policy because user exceptions may be wrapped in a MessagingException.
      Parameters:
      retryTemplate - the retry template.
    • setRecoveryCallback

      public void setRecoveryCallback​(org.springframework.retry.RecoveryCallback<java.lang.Object> recoveryCallback)
    • setRetryStateGenerator

      public void setRetryStateGenerator​(RetryStateGenerator retryStateGenerator)
    • onInit

      protected void onInit()
      Description copied from class: IntegrationObjectSupport
      Subclasses may implement this for initialization logic.
      Overrides:
      onInit in class IntegrationObjectSupport
    • doInvoke

      protected java.lang.Object doInvoke​(AbstractRequestHandlerAdvice.ExecutionCallback callback, java.lang.Object target, org.springframework.messaging.Message<?> message)
      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.
    • open

      public <T,​ E extends java.lang.Throwable> boolean open​(org.springframework.retry.RetryContext context, org.springframework.retry.RetryCallback<T,​E> callback)
      Specified by:
      open in interface org.springframework.retry.RetryListener
    • close

      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)
      Specified by:
      close in interface org.springframework.retry.RetryListener
    • onError

      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)
      Specified by:
      onError in interface org.springframework.retry.RetryListener