JEP 266: More Concurrency Updates defines an interoperable publish-subscribe framework for reactive streams, enhancements to the java.util.concurrent.CompletableFuture class, and various other improvements. This post wraps up my series on Java 9's other new enhancements by acquainting you with these concurrency enhancements.
Publish-subscribe framework for reactive streams
Java 9 includes a publish-subscribe framework for reactive streams. In this section, I first introduce the concept of reactive streams and then present this publish-subscribe framework.
Introducing reactive streams
Data processing has evolved from batch architectures that collect data and subsequently process the data after some threshold has been reached, to stream-oriented architectures that help to turn data into knowledge as quickly as possible. Stream-oriented architectures capture and process live data, and modify systems based on the processed results very quickly (typically in seconds or less). In contrast, a batch-processing system might take hours, days, or weeks to respond.