Project Reactor: About Scannable interface
Simple to say, reactor.core.Scannable interface is for accessing internal attributes of flux instance for debugging purpose. Following is an example Flux<Integer> f1 = Flux.just(1, 2, 3, 4); Scannable s1 = Scannable.from(f1); LOGGER.info(“BUFFERED={}, RUN_STYLE={}”, s1.scan(Scannable.Attr.BUFFERED), s1.scan(Scannable.Attr.RUN_STYLE)); Flux<Integer> f2 = f1.map(x -> x * 2); Scannable s2 = Scannable.from(f2); LOGGER.info(“RUN_STYLE={}, PREFETCH={}, PARENT={}”, s2.scan(Scannable.Attr.RUN_STYLE), s2.scan(Scannable.Attr.PREFETCH), s2.scan(Scannable.Attr.PARENT)); The output…