【问题标题】:Is there compatibility between Uni<> and Reactor's Mono<>?Uni<> 和 Reactor 的 Mono<> 之间是否兼容?
【发布时间】:2022-11-24 18:14:04
【问题描述】:
我正在尝试连接 Hibernate Reactive 和 Spring WebFlux(大多数是 Project Reactor)。
问题是Uni<>(Hibernate Reactive 类型)替换了Mono<>(来自 Project Reactor 的 Reactive 类型),从现在开始,行为并不那么明显,因为 Project Reactor 提供没有其他反应类型。
是否有一些工具可以使 Uni<> 和 Reactor 的 Mono<>/Flux<> 兼容?
已经调查了 GitHub 存储库,尝试通过自定义 spring 启动器连接反应类型。
【问题讨论】:
标签:
spring-boot
spring-webflux
project-reactor
hibernate-reactive
【解决方案1】:
是的,支持在两种类型系统之间进行转换。
添加以下依赖...
<dependency>
<groupId>io.smallrye.reactive</groupId>
<artifactId>mutiny-reactor</artifactId>
<version>1.7.0</version>
</dependency>
...并使用以下代码:
Mono<T> monoFromUni = uni.convert().with(UniReactorConverters.toMono());
你可以在这里找到详细的文档:https://smallrye.io/smallrye-mutiny/1.7.0/guides/converters/