Justin Vasiljevich
HJUG November, 2017











About Slalom












The case for a reactive framework
• Blocking
• Non-streaming
• Non-blocking
• But not streamable
• Streamable
• Blocking
• Streamable
• Blocking







The Interfaces
• subscribe() • onSubscribe(Subscription s)
• onNext(T t)
• onError(Throwable t)
• onComplete()
• request(long n)
• cancel()
• Extends Publisher and Subscriber
RxJava
• Observable (0 – N)
• Flowable (0 – N, but implements Publisher)
• Single (0 – 1)
• Completable (empty sequence)
Reactor Core
• Flow (0 – N)
• Mono(0 - 1)
• Mono<Void> (empty sequence)
Akka Streams
• Source
• Sink
• Flow
































 git@bitbucket.org:slalom-consulting/reactive-blog.git












 Spring Summary on Webflux

 Part 1
 Part 2
 Part 3
Reactive Programming in Spring with Webflux

Reactive Programming in Spring with Webflux

Editor's Notes

  • #7 Three key words that matter here
  • #11 So by now you’re probably thinking ok, Justin, that’s great and all. You’ve told me what a Reactive application is, but why should I care?
  • #12 …still unconvinced? Let’s look at some examples.