Basically, this allows Java itself to use reactive programming inside any future version, for example, Reactive JDBC, Networking, IO, etc. In concept, this also serves as a new rally point for interaction, however such a rally point already exists with jet streams aimed at a much wider audience on demand of Java 6.
As you mentioned, the use of these 4 interfaces and SubmissionPublisher itself is limited. If Java had extension methods like Kotlin and C #, including interfaces could have a much more interesting impact.
Unfortunately, this also means that existing libraries must use bridges to convert between Java 9 Flow and Reactive-Streams and / or redefine the entire library with the Java 9 Flow API - cut someone without Java 9 (i.e. . Android).
Large libraries already have such bridges ( RxJava 2 Jdk 9 Interop , Reactor-Core Interop ), and Reactive-Streams will have its own bridge in the end . There is also a reactive library prototype written for and with Java 9 features.
source share