package it.tdlight.reactiveapi; import java.util.function.Function; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; public class FutureEventConsumer implements EventConsumer { private final Mono> future; public FutureEventConsumer(Mono> future) { this.future = future.cache(); } @Override public Flux> consumeMessages() { return future.flatMapMany(EventConsumer::consumeMessages); } }