On this page
Reactor
Micronaut Reactor adds support for Project Reactor to a Micronaut 2.x application. If you are using Micronaut 1.x you do not need this module.
-
Converters for Reactor types so that Reactor types can be used in controllers and clients
-
Instrumentation for Reactor types so that tracing works with Reactor types
-
A version of the Http client that supports Reactor
For this project, you can find a list of releases (with release notes) here:
3.0.0
Reactor Http Client
The Reactor Http client has changed to return Mono<HttpResponse<O>> instead of Flux<HttpResponse<O>>.
This is semantically more correct as there can only be a single response per request.
Add the following dependency to your Micronaut application:
implementation("io.micronaut.reactor:micronaut-reactor")To use the HTTP client add the following dependency:
implementation("io.micronaut.reactor:micronaut-reactor-http-client")To use the Reactor variation of the Micronaut HTTP client inject the ReactorHttpClient interface (or one the other variants). For example:
import io.micronaut.reactor.http.client.*;
@Inject ReactorHttpClient httpClient; // regular client
@Inject ReactorSseClient sseClient; // server sent events
@Inject ReactorStreamingHttpClient streamingClient; // streamingWhen using Micronaut Reactor within a reactive chain, add the following dependency to handle the Reactor Context Propagation.
implementation("io.micrometer:context-propagation")You can find the source code of this project in this repository: