Class DefaultRetryInterceptor

java.lang.Object
io.micronaut.retry.intercept.DefaultRetryInterceptor
All Implemented Interfaces:
io.micronaut.aop.Interceptor<Object,Object>, io.micronaut.aop.MethodInterceptor<Object,Object>, io.micronaut.core.order.Ordered

@Singleton public class DefaultRetryInterceptor extends Object implements io.micronaut.aop.MethodInterceptor<Object,Object>
A MethodInterceptor that retries an operation according to the specified Retryable annotation.
Since:
1.0
  • Field Summary

    Fields inherited from interface io.micronaut.aop.Interceptor

    ARGUMENT, CACHEABLE_LAZY_TARGET, HOTSWAP, LAZY, PROXY_TARGET

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultRetryInterceptor(io.micronaut.core.convert.ConversionService conversionService, io.micronaut.context.event.ApplicationEventPublisher eventPublisher, ExecutorService executorService)
    Construct a default retry method interceptor with the event publisher.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    @Nullable Object
    intercept(io.micronaut.aop.MethodInvocationContext<Object,Object> context)
     
    protected void
    sleep(long delayMillis)
    Performs the sleep between retries, can be overridden to customize the sleep behavior.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.aop.MethodInterceptor

    intercept
  • Constructor Details

    • DefaultRetryInterceptor

      public DefaultRetryInterceptor(io.micronaut.core.convert.ConversionService conversionService, io.micronaut.context.event.ApplicationEventPublisher eventPublisher, @Named("scheduled") ExecutorService executorService)
      Construct a default retry method interceptor with the event publisher.
      Parameters:
      conversionService - The conversion service
      eventPublisher - The event publisher to publish retry events
      executorService - The executor service to use for completable futures
  • Method Details

    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface io.micronaut.core.order.Ordered
    • intercept

      @Nullable public @Nullable Object intercept(io.micronaut.aop.MethodInvocationContext<Object,Object> context)
      Specified by:
      intercept in interface io.micronaut.aop.MethodInterceptor<Object,Object>
    • sleep

      protected void sleep(long delayMillis) throws InterruptedException
      Performs the sleep between retries, can be overridden to customize the sleep behavior. The default implementation just calls Thread.sleep(long).
      Throws:
      InterruptedException