问题标签 [mutiny]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何返回 CompletionStageQuarkus 中的同步和异步?
我有端点,它可以返回同步和异步结果
如何故意返回一些东西,即同步?
java - 在 Quarkus 中按请求启动后台任务的正确方法
我想知道 Quarkus 中每个请求运行后台任务的良好做法是什么。
像这样的东西:
我希望我可以做一些像 Go 例程这样的事情,我可以为此设置超时并记录错误。我怀疑有人可能会注入一个 vertx 实例并在工作线程池中执行任务,但我不知道如何实现。
java - 大学如何在 Quarkus 工作
在查看了他们的官方教程开始使用异步指南之后,我试图了解 Uni 在 Quarkus 框架中的行为。在服务方法中,我做了以下更改
然后我测试了 /greeting/{name} 资源,执行根本不是异步的,实际上它在同一个线程中以同步方式执行了所有相关方法。
那么这之间有什么区别
和
它是如何异步的?请帮助我理解它。
quarkus - Quarkus/Microprofile REST 客户端不重试失败的调用
更新:在https://github.com/quarkusio/quarkus/issues/17145下创建的问题
使用 Quarkus 1.13.3.Final 我试图在使用 Microprofile REST 客户端的 Quarkus 风格并根据文档找出故障处理:
返回 Uni 时,每个订阅都会调用远程服务。这意味着您可以通过在 Uni 上重新订阅来重新发送请求,或者使用重试 [...]
但是,当我通过返回 a 使请求在另一端失败时,Uni.createFrom().failure(new RuntimeException());
客户端只会挂起,直到发生具有预设延迟的设定数量的尝试,但没有迹象表明这些尝试会到达其他服务。远程端点的代码只运行一次。
我对新的 Quarkus Reactive REST Client 和旧的客户端都进行了相同的尝试,每次都使用 Mutiny Uni 作为返回值,设置和不设置最大重试次数、等待时间等。由 Uni 的 .onFailure().retry() API 提供。
REST 客户端:
REST 客户端属性:
在调用方注入和使用 REST 客户端:
远程服务端:
调用者服务不产生任何日志,但从远程服务日志中可以清楚地看出,尽管将重试计数设置为 6,但端点要么只被调用一次,要么可能存在某种我无法做到的缓存在文档中找到任何内容。
java - Uni.combine().all().unis() 与 Multi..onItem().transformToMultiAndConcatenate().collect()
在我的 Quarkus 服务中,我需要从外部服务获取结果列表,我发现有两种方法可以实现相同的目标:
第一种方法基于Uni.combine().all()
:
第二种方法基于Multi..onItem().transformToMultiAndConcatenate().collect()
一开始,我认为这两种方法之间没有任何真正的区别,因为Uni
它们是懒惰地评估的,或者Uni.combine
对Multi.collect
我来说就像语法糖一样。但是我还是想问一下有没有区别?特别是性能方面的差异。
使用第一种方法,我正在调试一个错误,当大小parameters
超过 25 时它开始给出错误但低于 25 就可以了。因此,我怀疑第一种方法会导致非常高的 QPS 淹没外部服务。但是,我怀疑第二种方法也有助于节流。
java - Quarkus Reactive - 名称“security.jaxrs.deny-unannotated-endpoints”的多个匹配属性错误
使用 Quarkus 我在执行时收到以下错误:
引起:java.lang.IllegalArgumentException:名称“security.jaxrs.deny-unannotated-endpoints”属性的多个匹配属性由公共布尔 io.quarkus.resteasy.reactive.common.runtime.JaxRsSecurityConfig.denyJaxRs 和公共布尔匹配io.quarkus.resteasy.runtime.JaxRsSecurityConfig.denyJaxRs。这可能是因为您有一个不兼容的扩展组合,它们都定义了相同的属性(例如,包括反应式和阻塞式数据库扩展)
我的 pom 属性是:
和依赖:
我只是尝试使用 Multi from mutiny 和Server Sent Elements进行流式传输:
java - 如何直接从 Uni 返回一个值无需将其转换为 CompletableFuture
给出一个上下文,我的类中有两个方法都返回 Uni,其中第一个方法以下列方式依赖于第二个方法
现在在greeting(String name)
(第一个)方法中返回我必须使用的 String 值,subscribeAsCompletionStage().get()
否则返回类型将是Uni<Uni<String>>
.
我的问题如下
- 是一种我可以返回第二种方法的实际结果(包含在 Uni 中的确切值)
ioSimulation
而不使用subscribeAsCompletionStage().get()
if yes 那么我该怎么做的方法? - 这样做有没有更好的办法?比如重构现有的方法。
如果有人有兴趣,可以在这里找到完整的代码
vert.x - Reactive Quarkus:将 Reactive PanacheORM 与多个数据源一起使用
我正在尝试连接到两个不同的数据库(都具有反应式连接),但我无法为第二个数据库创建连接池并继续使用 Panache。
我尝试使用 Quarkus 文档中的@ReactiveDataSource注释,但我无法为某些实体设置此连接,以通过 Panache 为该特定池执行操作。
示例(类似这样):
应用程序属性
用户实体
UserRepository (这是特定数据源的 Panache 配置应该发生的地方!!)
提前感谢您的帮助。
java - Quarkus:java.lang.IllegalStateException:找不到频道的订阅者
我正在使用 Quarkus,但命令式进程运行缓慢:
我想通过使用 REST API 从流程中获取更新:
}
到达时出现以下错误:
java.lang.IllegalStateException:SRMSG00027:找不到频道文本的订阅者
链接到Github 代码 (包括 pom 和依赖版本)
知道为什么@Incoming("texto")
不被识别吗?
完全错误:
soap - SOAP + Quarkus 响应式响应:Quarkus 在使用 Mutiny 返回类型时是否支持 XML 解析?
我不知道 Quarkus 是否支持 XML(反)序列化,而响应是反应类型(Uni/Multi)。我使用了 Spring Reactor,在 Reactor 中,响应应该始终是 Mono/Flux,以使整个管道无阻塞,从请求到客户端再到最终响应。这是正确的方法吗?我只看到返回 int/String/List 的示例,从来没有看到 Uni/Multi 作为响应。
我已经稍微修改了官方示例以检查这是可能的,但我没有得到正确的响应。
我的服务:
当我查询 likecurl -X GET http://localhost:8080/45646546546541
时,我看到:
我有io.quarkus:quarkus-resteasy-jaxb
我的依赖项。
我想要:
- 通过配置属性配置 XML 解析器功能
- 能够将 Uni/Multi 转换为 XML