Skip to Content
Hands-On Reactive Programming in Spring 5
book

Hands-On Reactive Programming in Spring 5

by Oleh Dokuka, Igor Lozynskyi
October 2018
Intermediate to advanced
556 pages
15h 18m
English
Packt Publishing
Content preview from Hands-On Reactive Programming in Spring 5

Sampling elements 

For a high-throughput scenario, it may make sense to process only a fraction of events by applying the sampling technique. Reactor allows us to do so with the sample and sampleTimeout operators. So, a sequence may periodically emit an item corresponding to the most recently seen value within a time window. Let's assume the following code:

Flux.range(1, 100)    .delayElements(Duration.ofMillis(1))    .sample(Duration.ofMillis(20))    .subscribe(e -> log.info("onNext: {}", e));

The preceding code generates the following output:

onNext: 13onNext: 28onNext: 43onNext: 58onNext: 73onNext: 89onNext: 100

The preceding log shows that, even though we generate items sequentially every millisecond, the subscriber receives only a fraction of ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Spring Microservices in Action, Second Edition

Spring Microservices in Action, Second Edition

John Carnell, Illary Huaylupo Sanchez

Publisher Resources

ISBN: 9781787284951Supplemental Content