使用 Quarkus/Mutiny 在 Reactive REST GET 端点中调度 CompletionStage / CompletableFuture API 服务

Dispatch a CompletionStage / CompletableFuture API service in a Reactive REST GET endpoint with Quarkus/Mutiny

and checking 之后我终于玩到了 CompletionStage / CompletableFuture API 版本;

How do i call a CompletionStage / CompletableFuture API service from my Reactive REST GET endpoint with Quarkus/Mutiny

再次证明它非常简单(尽管潜在的想法可能更复杂);

ServiceResource 只是将调用转发给服务。

MyRequestService 创建一个 MyJsonResultCompletableFuture (CompletableFuture implements CompletionStage) and delivers this to the Mutiny Uni with method completionStage()。另一种可能性是使用;

Uni.subscribe().asCompletionStage()

生成的 Uni 返回到 ServiceResource。

最后 MyJsonResultCompletableFuture 阻止来自 MyReactiveServiceResource / MyRequestService 的调用等待 completionStage。方法 ready() 完成这个阶段,returns MyJsonResult 到 Mutiny ().