Reactive Hardcore. How to build a Publisher<?>

By Oleh Dokuka

Elevator Pitch

The more popular Reactive Programming/Libraries become, the more often we have to deal with those techniques and solutions. Understanding the basics patterns, behavior that is hidden inside the most of Reactive Libraries, Tool-Kits/Best Practice simplify our life with Reactive in Java.

Description

The more popular Reactive Programming/Libraries become, the more often we have to deal with those techniques and solutions. Sometimes we have to deal just with smoothies API of Reactive Extensions, sometimes we have to dive into the internals of those libraries, or sometimes we have to build our own implementation. Nevertheless, understanding of the basics patterns, behavior that is hidden inside the most of Reactive Libraries, Tool-Kits / Best Practice might simplify our – life with / debugging of / implementation of Reactive Library.

Usually reading a tone of papers and blogs about the internals of Reactive Libraries, specific rules of Reactive Streams Specification or simply grasping the source code becomes hardcore. Hence, we will summarize all important by implementing own Publisher<> in Java.

What will we do to learn? We will:

  • Remind the sense and importance of Reactive Streams Specification;
  • Naively implement our first solution and fail of course;
  • Find toolkit which will help in verification of the implementation;
  • Iteratively follow all the rules of Reactive Streams and implement the correct solution;
  • Compare our solution to what we have, for example, in Project Reactor and ensure that used patterns are same;
  • Summarize best practices and recap patterns used in the demo.