package com.nisum.subscribers; import lombok.extern.slf4j.Slf4j; import java.util.concurrent.Flow; @Slf4j public class EventSubscriber implements Flow.Subscriber { private Flow.Subscription subscription; @Override public void onSubscribe(Flow.Subscription subscription) { this.subscription=subscription; subscription.request(5); } @Override public void onNext(Integer item) { log.info("ES ::"+item); subscription.request(1); if(item.equals(3)) subscription.cancel(); } @Override public void onError(Throwable throwable) { log.error("ERROR "+throwable); } @Override public void onComplete() { log.info("DONE"); } }