Reactive Programming: Libraries, Concepts, and Paradigm Shifts
1. Project Reactor Features
Project Reactor is supported by a library focused on the Reactive Streams specification, targeting Java 8 and also supporting some Java 9 features. This library exposes operators confirmed by the RxJava API, with core interfaces like Publisher, Subscriber, Subscription, and Processor.
It has a reactive type implementing Publisher, with the following building components:
- Mono : Represents a single element or an empty result. It’s a specialized Publisher that emits at most one element. Can be used to represent asynchronous processes with no value as Mono .
- Flux : Represents a sequence of 0…n elements. A Flux is a