Skip to content
Experimenting with Reactive Streams in Java 8 and Java 9. This repository is prepared for my talk "Get ready for java.util.concurrent.Flow!" at JDD 2017 Conference in Kraków, Poland
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


In this repository, I'm experimenting with Reactive Streams, which are going to become part of the Java 9 in the java.util.concurrent package in Java 8 application and with native Java 9 Reactive Streams as well.

This repository is prepared for my talk titled Get ready for java.util.concurrent.Flow!

during JDD 2017 Conference on 03.10.2017 in Kraków, Poland.

Presentation slides

Presentation slides are published at:

My blog posts related to JDD conference

Java 8 project

Inside java8 directory, I'm playing with two implementations of Reactive Streams:

Project inside java8 directory can be cleaned, compiled and run via Gradle Wrapper.

It contains only exploratory tests for different reactive libraries.

To run tests, type: ./gradlew test.

Java 9 project

Inside java9 directory I'm playing with native Java 9 Reactive Streams interfaces. This project is based on Gradle. If you have problems with importing it into IntelliJ IDEA, choose Java 8 during import and switch Java version to 9 after import. In the case of problems with compilation, update file. To build project, type: ./gradlew build. To run the compiled project, type: ./gradlew run.

The example implementations are examples from the Reactive Streams examples, as implementing one-off by-hand implemented Publishers/Subscribers is actually pretty hard to pull off - due to the restrictive Specification which governs how these implementations much behave.

Git branches

  • master branch contains code snippets from presentation and exepriments
  • presentation branch contains code snippets for Java 8 shown during the presentation and empty project in Java 9 for live coding


You can’t perform that action at this time.