Reactive support in Spring 5
Spring Framework 5 has extensive support for a reactive programming paradigm. Many of the modules have embraced this concept with both hands and are making it a first-class citizen. The following diagram summarizes the Spring 5 support of reactive:
Figure 4: Spring 5 and reactive support
Spring WebFlux module is a full-fledged web application framework built on top of a reactive programming paradigm (it uses Reactor and RxJava). Some of the early adopters of reactive programming in the Spring/Java ecosystem were Spring Data, Spring Security, and Thymeleaf. Spring Security has a number of features that supports reactive programming.
Spring Data has reactive support for Redis, MongoDB, Couchbase, and Cassandra. It also supports infinite streams (records emitted one by one in the form of a stream) from the database with @Tailable
. JDBC inherently is blocking in nature, because of which, Spring Data JPA is blocking and cannot be made reactive.
Reactive in Spring MVC
Even...