Download - Reactive Streams Condensed
![Page 1: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/1.jpg)
REACT I V E S TR EAMS COND ENS ED
W H A T D O Y O U N E E D T O K N O W A B O U T N E W S T A N D A R D F R O M J V M W O R L D
![Page 2: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/2.jpg)
The Java World was Sad Once…
![Page 3: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/3.jpg)
... Here comes Java 8…
![Page 4: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/4.jpg)
…And new King
![Page 5: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/5.jpg)
Not Enough
![Page 6: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/6.jpg)
STREAMS ARENot LAZY
![Page 7: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/7.jpg)
stream.forEach(x -> {return x * 2;
})
![Page 8: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/8.jpg)
DON’T HAVE API TO REALTIME, DISTRIBUTED PROCESSING
![Page 9: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/9.jpg)
Only Push orPull
![Page 10: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/10.jpg)
stream.forEach(x -> {return x * 2;
})
![Page 11: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/11.jpg)
Iterator i = stream.iterator()while (i.hasNext()){// do execution
}
![Page 12: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/12.jpg)
NOT A SPECIFICATIONNot A Specification
![Page 13: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/13.jpg)
JVM is not just Java
![Page 14: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/14.jpg)
Reactive Streams
![Page 15: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/15.jpg)
Stream Over AsyncBoundaries
![Page 16: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/16.jpg)
FAST PublisherSlow SubscriberProblem
![Page 17: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/17.jpg)
Publisher Subscriber
Demand
Data
![Page 18: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/18.jpg)
![Page 19: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/19.jpg)
RxJavaReactor from SpringSourceAkka StreamsVert.x
INTEROPERATIBILITY
![Page 20: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/20.jpg)
void onSubscribe(Subscription s)
void onNext(T t)
void onComplete()
void onError(Throwable t)
SUBSCRIBER
![Page 21: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/21.jpg)
void subscribe(Subscriber<? super T> s)
PUBLISHER
![Page 22: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/22.jpg)
SUBSCRIPTION
void cancel()
void request(long n)
![Page 23: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/23.jpg)
extendsSubscriber<T>, Publisher<R>
PROCESSOR
![Page 24: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/24.jpg)
Publisher Subscribersubscribe
onSubscribe
request
Subscription
onNext
![Page 25: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/25.jpg)
• All call on subscriber must be async• All call on Subscription must not block• Publisher just create subscription
CONTRACT
![Page 26: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/26.jpg)
• 1.0.0 RC-5 published 10th April• Technology Compatibility Kit Released • JVM Interface• JS Interface• Network Protocols
CURRENT STATE
![Page 27: Reactive Streams Condensed](https://reader038.vdocuments.net/reader038/viewer/2022102723/55a82d5a1a28ab06238b4597/html5/thumbnails/27.jpg)
Thank You!