REACTIVE STREAMS
CONDENSED
WHAT DO YOU NEED TO KNOW ABOUT NEW STANDARD
FROM JVM WORLD
The Java World
was Sad Once…
... Here comes
Java 8…
…And new King
Not Enough
STREAMS ARE
Not LAZY
stream.forEach(x -> {
return x * 2;
})
DON’T HAVE API
TO REALTIME,
DISTRIBUTED
PROCESSING
Only Push or
Pull
stream.forEach(x -> {
return x * 2;
})
Iterator i = stream.iterator()
while (i.hasNext())
{
// do execution
}
NOT A SPECIFICATIONNot A
Specification
JVM is not just Java
Reactive Streams
Stream Over
Async
Boundaries
FAST Publisher
Slow Subscriber
Problem
Publisher
Subscriber
Demand
Data
RxJava
Reactor from SpringSource
Akka Streams
Vert.x
INTEROPERATIBILITY
void onSubscribe(Subscription s)
void onNext(T t)
void onComplete()
void onError(Throwable t)
SUBSCRIBER
void subscribe
(Subscriber<? super T> s)
PUBLISHER
SUBSCRIPTION
void cancel()
void request(long n)
extends
Subscriber<T>, Publisher<R>
PROCESSOR
Publisher Subscriber
subscribe
onSubscribe
request
Subscription
onNext
• All call on subscriber must be async
• All call on Subscription must not block
• Publisher just create subscription
CONTRACT
• 1.0.0 RC-5 published 10th April
• Technology Compatibility Kit Released
• JVM Interface
• JS Interface
• Network Protocols
CURRENT STATE
Thank You!

Reactive Streams Condensed