Spring Boot2。异步API。CompletableFuture与反应式

Iho*_* M. 6 spring spring-boot project-reactor completable-future spring-webflux

我的应用程序严重依赖异步Web服务。它是用Spring Boot 1.5.x构建的,它使我可以利用标准Java 8 CompletableFuture<T>来产生延迟的异步响应。有关更多信息,请参见 https://nickebbitt.github.io/blog/2017/03/22/async-web-service-using-completable-future

Spring Boot 2.0.x现在带有可以利用反应范例的入门包。Spring WebFlux是框架,用于实现响应式HTTP。

由于我已经按照第一段所述实现了API,因此通过重做服务以使用非阻塞反应式方法,我能获得很多收益吗?简而言之,我还将拥有非阻塞API,对吧?

有一个例子如何在基于异步API转换CompletableFuture<T>Mono<T>\Flux<T>

我当时正在考虑完全摆脱基于servlet的服务器(在我的情况下为Jetty),并选择Netty + Reactor。

不用说,我对整个反应式范式都是陌生的。

我想听听您的意见。

shp*_*itc 1

我有两件事要说:

问:是否有示例如何将基于 CompletableFuture 的异步 API 转换为 Mono\Flux?

答:1)你必须以一种不同的方式配置端点https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html

2) CompletableFuture 到 Mono\Flux 示例:Mono.fromFuture(...)