In this demo project you may examples of reactive endpoints built on top of Spring WebFlux, and using WebClient
for calling other resources.
- Explaining different communication models in reactive application with Spring WebFlux. Differences between standard
application/json
content type andapplication/stream+json
. Introduction to back pressure term. Detailed description can be found here: Using Reactive WebClient with Spring WebFlux - A detailed analyse of threading and concurrency model used by Spring WebFlux and Reactor Netty. It also threats about
WebClient
and Spring Boot Actuator pooling. A detailed description can be found here: A Deep Dive Into Spring WebFlux Threading Model
Required:
- JDK 11+
- Maven
How to run ?
mvn clean install
There are two JUnit tests: PerformanceSpringWebFluxTest
and SampleSpringWebFluxTest
.
To provide some standalone tests just run the main class SampleSpringWebFluxApp
.
For generating some traffic to the application run application SendingApp
. It runs MockWebServer
on localhost:8082 in order to mock downstream service called by WebClient
and than calls endpoints exposed by the application usung TestRestTemplate
.