Class ReactorPublisherExtension

java.lang.Object
io.github.resilience4j.micronaut.util.ReactorPublisherExtension
All Implemented Interfaces:
PublisherExtension

@Singleton @Requires(classes={reactor.core.publisher.Flux.class,io.github.resilience4j.reactor.AbstractSubscriber.class}) public class ReactorPublisherExtension extends Object implements PublisherExtension
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> org.reactivestreams.Publisher<T>
    bulkhead(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.bulkhead.Bulkhead bulkhead)
     
    <T> org.reactivestreams.Publisher<T>
    circuitBreaker(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.circuitbreaker.CircuitBreaker circuitBreaker)
     
    <T> org.reactivestreams.Publisher<T>
    fallbackPublisher(org.reactivestreams.Publisher<T> publisher, io.micronaut.aop.MethodInvocationContext<Object,Object> context, Function<io.micronaut.aop.MethodInvocationContext<Object,Object>,Optional<? extends io.micronaut.inject.MethodExecutionHandle<?,Object>>> handler)
     
    <T> org.reactivestreams.Publisher<T>
    rateLimiter(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.ratelimiter.RateLimiter rateLimiter)
     
    <T> org.reactivestreams.Publisher<T>
    retry(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.retry.Retry retry)
     
    <T> org.reactivestreams.Publisher<T>
    timeLimiter(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.timelimiter.TimeLimiter timeLimiter)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ReactorPublisherExtension

      public ReactorPublisherExtension()
  • Method Details

    • bulkhead

      public <T> org.reactivestreams.Publisher<T> bulkhead(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.bulkhead.Bulkhead bulkhead)
      Specified by:
      bulkhead in interface PublisherExtension
    • circuitBreaker

      public <T> org.reactivestreams.Publisher<T> circuitBreaker(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.circuitbreaker.CircuitBreaker circuitBreaker)
      Specified by:
      circuitBreaker in interface PublisherExtension
    • timeLimiter

      public <T> org.reactivestreams.Publisher<T> timeLimiter(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.timelimiter.TimeLimiter timeLimiter)
      Specified by:
      timeLimiter in interface PublisherExtension
    • retry

      public <T> org.reactivestreams.Publisher<T> retry(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.retry.Retry retry)
      Specified by:
      retry in interface PublisherExtension
    • rateLimiter

      public <T> org.reactivestreams.Publisher<T> rateLimiter(org.reactivestreams.Publisher<T> publisher, io.github.resilience4j.ratelimiter.RateLimiter rateLimiter)
      Specified by:
      rateLimiter in interface PublisherExtension
    • fallbackPublisher

      public <T> org.reactivestreams.Publisher<T> fallbackPublisher(org.reactivestreams.Publisher<T> publisher, io.micronaut.aop.MethodInvocationContext<Object,Object> context, Function<io.micronaut.aop.MethodInvocationContext<Object,Object>,Optional<? extends io.micronaut.inject.MethodExecutionHandle<?,Object>>> handler)
      Specified by:
      fallbackPublisher in interface PublisherExtension