【问题标题】:Dispatch a blocking service in a Reactive REST GET endpoint with Quarkus/Mutiny使用 Quarkus/Mutiny 在反应式 REST GET 端点中调度阻塞服务
【发布时间】:2021-04-04 18:26:31
【问题描述】:

最近我使用回调结构实现了一个带有 Quarkus/Mutiny 的 Reactive REST GET 端点;

Connect MyRequestService to Reactive REST GET endpoint with Quarkus/Mutiny

完成后,我想知道这是如何通过调用阻塞服务来解决的;

如何从我的 Reactive REST GET 端点调用阻塞服务 夸库斯/叛变

【问题讨论】:

    标签: rest blocking reactive quarkus mutiny


    【解决方案1】:

    我没有在文档中看到一个快速的答案,但结果很简单;

    ServiceResource 只是将调用转发给 Service。

    MyRequestService 创建一个 MyJsonResultSupplier 并使用 item() 方法将其传递给 Mutiny Uni。生成的 Uni 返回到 ServiceResource。

    Mutiny 在供应商上使用 get() 方法获取 MyJsonResult。在信号量 mMyJsonResultSupplierSemaphore 上获取的调用阻塞。接下来,另一个工作线程调用方法 ready() 设置 mMyJsonResult 并向 Mutiny 释放信号量 mMyJsonResultSupplierSemaphore 解锁方法 get()。

    Mutiny 完全隐藏了故事的反应部分,因此您只需阻止已注册供应商内的方法调用。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2021-07-26
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多