io.github.resilience4j.micronaut.util.PublisherExtension Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of resilience4j-micronaut Show documentation
Show all versions of resilience4j-micronaut Show documentation
Resilience4j is a lightweight, easy-to-use fault tolerance library designed for Java8 and functional programming
package io.github.resilience4j.micronaut.util;
import io.github.resilience4j.bulkhead.Bulkhead;
import io.github.resilience4j.circuitbreaker.CircuitBreaker;
import io.github.resilience4j.ratelimiter.RateLimiter;
import io.github.resilience4j.retry.Retry;
import io.github.resilience4j.timelimiter.TimeLimiter;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.inject.MethodExecutionHandle;
import org.reactivestreams.Publisher;
import java.util.Optional;
import java.util.function.Function;
public interface PublisherExtension {
Publisher bulkhead(Publisher publisher, Bulkhead handler);
Publisher circuitBreaker(Publisher publisher, CircuitBreaker handler);
Publisher timeLimiter(Publisher publisher, TimeLimiter handler);
Publisher retry(Publisher publisher, Retry handler);
Publisher rateLimiter(Publisher publisher, RateLimiter handler);
Publisher fallbackPublisher(Publisher publisher, MethodInvocationContext
© 2015 - 2024 Weber Informatics LLC | Privacy Policy