Class AbstractRetryInterceptor

java.lang.Object
org.springframework.resilience.retry.AbstractRetryInterceptor
All Implemented Interfaces:
Advice, Interceptor, MethodInterceptor, Aware, ApplicationEventPublisherAware
Direct Known Subclasses:
SimpleRetryInterceptor

public abstract class AbstractRetryInterceptor extends Object implements MethodInterceptor, ApplicationEventPublisherAware
Abstract retry interceptor implementation, adapting a given retry specification to either RetryTemplate or Reactor.
Since:
7.0
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • AbstractRetryInterceptor

      public AbstractRetryInterceptor()
  • Method Details

    • setApplicationEventPublisher

      public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
      Description copied from interface: ApplicationEventPublisherAware
      Set the ApplicationEventPublisher that this object runs in.

      Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked before ApplicationContextAware's setApplicationContext.

      Specified by:
      setApplicationEventPublisher in interface ApplicationEventPublisherAware
      Parameters:
      applicationEventPublisher - event publisher to be used by this object
    • invoke

      public @Nullable Object invoke(MethodInvocation invocation) throws Throwable
      Description copied from interface: MethodInterceptor
      Implement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invoke Joinpoint.proceed().
      Specified by:
      invoke in interface MethodInterceptor
      Parameters:
      invocation - the method invocation joinpoint
      Returns:
      the result of the call to Joinpoint.proceed(); might be intercepted by the interceptor
      Throws:
      Throwable - if the interceptors or the target object throws an exception
    • getRetrySpec

      protected abstract @Nullable MethodRetrySpec getRetrySpec(Method method, Class<?> targetClass)
      Determine the retry specification for the given method on the given target.
      Parameters:
      method - the currently executing method
      targetClass - the class of the current target object
      Returns:
      the retry specification as a MethodRetrySpec