问题标签 [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.

0 投票
1 回答
117 浏览

quarkus - 使用响应式消息传递时如何传播 JTA 状态?

我想在向反应式消息连接器发送消息的事务性 REST 端点之间传播 JTA 状态(= 事务)。

据我了解,上下文传播负责使事务可用(请参阅 参考资料io.smallrye.context.jta.context.propagation.JtaContextProvider#currentContext)。问题似乎是,它currentContext是在订阅时创建的,这在注入点 ( Emitter<String> emitter) 获取其实例时发生。要正确捕获交易还为时过早。

我错过了什么?

顺便说一句,我在使用@Incoming/@Outgoing而不是发射器时遇到了同样的问题。我决定给你这个例子是因为它很容易理解和重现。

0 投票
1 回答
922 浏览

java - 使用响应式消息传递时未在 Quarkus 上传播 Opentracing 上下文

我有两个通过 Kafka 相互交互的微服务,一个发布消息,另一个消费消息。发布者和消费者都在 Quarkus (1.12.0.Final) 上运行,并使用响应式消息传递和 Mutiny。

制片人:

消费者:

依赖关系:包括人工制品等

  • quarkus-smallrye-reactive-messaging-kafka
  • quarkus-resteasy-mutiny
  • quarkus-smallrye-opentracing
  • 夸库斯叛变
  • opentracing-kafka-client

Quarkus 配置(application.properties):包括其他

使用此设置,根本不会记录 traceId 或 spanId(即使它们应该根据 Quarkus 的“使用 OpenTracing”指南)。只有在添加@org.eclipse.microprofile.opentracing.Traced 后才设置了traceId 和spanId,但两者在生产者和消费者上完全不相关。

我对照前面提到的 Quarkus 指南“使用 OpenTracing”检查了我的 opentracing 配置,但没有发现我这边配置错误的提示。在阅读了有关与 Mutiny 一起使用时依赖于 ThreadLocals 的 Quarkus 扩展中的问题的讨论后,我将人工制品 quarkus-smallrye-context-propagation 添加到我的依赖项中,但无济于事。

我怀疑这个问题可能与https://github.com/quarkusio/quarkus/issues/15182有关,尽管它是关于反应性路由而不是反应性消息传递。

有任何想法吗?

0 投票
1 回答
1141 浏览

java - 夸库斯大学没有按照公认的方式工作?

当我在处理 QUArkus 应用程序时,我试图返回 Uni,但它给了我错误:

但是从前端调用这个请求时,它给了我以下错误:

RESTEASY002020:未处理的异步异常,发回 500:com.fasterxml.jackson.databind.exc.InvalidDefinitionException:找不到类 io.smallrye.mutiny.context.ContextPropagationUniInterceptor$2 的序列化程序,也没有发现用于创建 BeanSerializer 的属性(为避免异常,请禁用SerializationFeature.FAIL_ON_EMPTY_BEANS)

请让我知道如何解决它。

我找到了一种方法,但如果我更改以下行,我认为它不合适:

从:

至:

比它会起作用。所以如果我添加“f.await().infinitely()”它会起作用,我的问题是它仍然是被动的吗?

0 投票
1 回答
49 浏览

java - Multi collectItems如何提前终止并返回收集的物品

在我的 quarkus 服务中,我正在构建一个自定义累加器来使用Multi. 流可能是无限的,我想知道在积累了足够的数据后如何提前终止并收集结果?

下面是我的原型:

0 投票
1 回答
107 浏览

java - 测试自己的 Mutiny 算子

我是响应式编程的新手,并创建了我自己的第一个 Mutiny 运算符,如https://smallrye.io/smallrye-mutiny/guides/plug中所述。

我的操作员是一个收集器,它收集列表中的 x 个项目,并在达到 x 或流完成时发送这些项目。

当我开始使用以下代码对其进行测试时:

从我的第一个订阅者那里我得到: [1, 2, 3, 4] [5, 6] 已完成但是 Assertsubscriber 接缝没有得到任何事件,既不是 onItem 也不是 onCompleted 我在某处犯了错误吗?

0 投票
2 回答
1124 浏览

java - 如何使用 Mutiny 反应式编程调用长时间运行的阻塞 void 返回方法?

我在 Mutiny 的 Uni 上有一个 Async 和 Sync 方法调用链,有些方法是一个长时间运行的过程,返回类型为void

在不阻塞下游的情况下调用/调用它们的正确方法是什么?

下面是简单的类比代码。

0 投票
0 回答
127 浏览

vert.x - Quarkus - 如何使用多个反应式 PgPool 测试 CDI 服务

我有一个 CDI bean,我在其中注入了一些反应性数据源,如此处所述

我尝试测试我的服务,但我不知道如何模拟所有 PgPool(我应该模拟它们吗?)?我尝试了这里解释的“测试容器”方法

我注意到主要实现不使用 @Inject 注释:请参见此处 为什么?

我在运行测试时得到了这个堆栈:

quarkus 文档有很多使用 Panache 实体测试持久性的示例,但没有使用反应池测试持久性的示例。

怎么做 ?

谢谢!

0 投票
1 回答
462 浏览

java - 通过回调方法使用 Quarkus/Mutiny 将 MyRequestService 连接到 Reactive REST GET 端点

上周我在Mutiny库中进行了第一轮 ✨,因为我需要在我的Quarkus项目中使用Reactive REST 端点。这并不像听起来那么明显,所以我想我会分享我对Quarkus中Mutiny库的新见解;

Quarkus文档将 Mutiny 库指定为响应式用例的首选库;

展望未来,Mutiny 将成为 Quarkus 中所有响应式事物的首选库。

例如;

在此处输入图像描述

突出的是,大多数 Mutiny 示例都使用新字符串作为示例。所以,我的问题仍然存在;

如何在 Quarkus 中将 MyRequestService 与 Mutiny 连接起来

这将是:

MyRequestService 已经使用了回调结构,所以我尝试了针对 Mutiny 的回调方法。

0 投票
0 回答
133 浏览

quarkus - 如何在 Smallrye Mutiny 中为 aa `multi` 添加超时?

在 Smallrye Mutiny 中,我可以为Uni使用类似的东西添加超时:

我为 a 搜索了类似的 API,Multi但没有找到。我期望的功能是:

  • 如果一段时间没有发出任何项目,则执行某些操作
  • Multi如果在给定时间内没有完成,则做某事

这可以以某种方式实现吗?

0 投票
1 回答
51 浏览

mutiny - Multi / Uni 操作员文档

我似乎没有找到涵盖 Multi / Uni 所有可用运算符的 Mutiny 文档,例如与此类似的东西。有这样的资源吗?指南部分很棒,但我想对库功能有一个更一般的了解。