7. Module Versioning?
• There are some issues that the Java Platform Module
System does not address, such as versioning of modules.
There is no support for specifying which version of a
module is required.
• These can be desirable features, but you must use
mechanisms other than the Java Platform Module System
if you need them.
8. Reactive Programming
• Reactive Programming is an asynchronous programming
paradigm concerned with data streams and propagation
of changes.
9. Reactive Programming
• Publisher and Subscriber model. The publisher publishes a
stream of data, to which the Subscriber is asynchronous
subscribed.
11. CompletableFuture vs.
Reactive Stream
• You mean Pull vs. Push? or Iterator vs. Observable
pattern?
• Iterator is a pull model, where the application pulls items
from the source.
• The observer is a push model, where the items from the
source are pushed to the application.
12. Good news
• JDK9, java.util.concurrent.Flow
• With Flow API you can use it with most of the Reactive
Library such as RxJava, Akka Stream and Vertx.
13. Reactive Programming in
Spring boot 2
• WebFlux framework
• Provides End-to-End reactive stream support. Even
reactive database access with Spring Data.
14. Reactive Programming in
Spring boot 2
• Reactive database access works only with the following
NoSQL database: MongoDB, Cassandra, Redis.
• SQL database access is still blocking on the ground of
the lack of reactive driver.