data-driven-docs

Selft training repo


Project maintained by ggranados Hosted on GitHub Pages — Theme by mattgraham

Reactive Streams


Table of Contents


Is a set of interfaces and rules that define a standard for asynchronous stream processing with non-blocking backpressure in Java. It was developed to address challenges in handling asynchronous and potentially unbounded streams of data, ensuring that data producers (publishers) don’t overwhelm data consumers (subscribers) and lead to resource exhaustion.

Back to top

Core interfaces

Back to top

Back to top

Back to top

Back to top

Reactive Streams Workflow

The Reactive Streams workflow outlines how data flows and is processed through the different components of the reactive stream processing model, as defined by the Reactive Streams Specification. This workflow ensures that asynchronous data processing is efficient, non-blocking, and well-controlled, particularly in scenarios where data producers and consumers operate at different speeds.

High-level description of the Reactive Streams workflow:

reactive-streams.png

Back to top

Operators and Transformations

Operators and Transformations are used to modify, filter, combine, or otherwise transform the data as it flows through the stream. Let’s define these terms:

Operator

Transformation

A transformation is a specific type of operator that takes an input stream and produces an output stream where each element has been transformed in some way.

Common Operators and Transformations

These are just a few examples, and there are many more operators and transformations available in Reactive Streams libraries like Reactor or RxJava.

Back to top

JDK9 java.util.concurrent.Flow

The interfaces available in JDK >= 9 java.util.concurrent.Flow, are 1:1 semantically equivalent to their respective Reactive Streams counterparts.

This means that there will be a migratory period, while libraries move to adopt the new types in the JDK

Back to top


Ref.


Get Started | Paradigms | Reactive Programming | Java | Java9