Class ReactorRateLimiterAspectExt

java.lang.Object
io.github.resilience4j.ratelimiter.configure.ReactorRateLimiterAspectExt
All Implemented Interfaces:
RateLimiterAspectExt

public class ReactorRateLimiterAspectExt extends Object implements RateLimiterAspectExt
the Reactor RateLimiter logic support for the spring AOP Conditional on Reactor class existence on spring class loader
  • Constructor Details

    • ReactorRateLimiterAspectExt

      public ReactorRateLimiterAspectExt()
  • Method Details

    • canHandleReturnType

      public boolean canHandleReturnType(Class returnType)
      Specified by:
      canHandleReturnType in interface RateLimiterAspectExt
      Parameters:
      returnType - the AOP method return type class
      Returns:
      boolean if the method has Reactor return type
    • handle

      public Object handle(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, io.github.resilience4j.ratelimiter.RateLimiter rateLimiter, String methodName) throws Throwable
      handle the Spring web flux (Flux /Mono) return types AOP based into reactor rate limiter See RateLimiter for details.
      Specified by:
      handle in interface RateLimiterAspectExt
      Parameters:
      proceedingJoinPoint - Spring AOP proceedingJoinPoint
      rateLimiter - the configured rateLimiter
      methodName - the method name
      Returns:
      the result object
      Throws:
      Throwable - exception in case of faulty flow