问题标签 [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.
quarkus - 使用响应式消息传递时如何传播 JTA 状态?
我想在向反应式消息连接器发送消息的事务性 REST 端点之间传播 JTA 状态(= 事务)。
和
据我了解,上下文传播负责使事务可用(请参阅 参考资料io.smallrye.context.jta.context.propagation.JtaContextProvider#currentContext
)。问题似乎是,它currentContext
是在订阅时创建的,这在注入点 ( Emitter<String> emitter
) 获取其实例时发生。要正确捕获交易还为时过早。
我错过了什么?
顺便说一句,我在使用@Incoming
/@Outgoing
而不是发射器时遇到了同样的问题。我决定给你这个例子是因为它很容易理解和重现。
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有关,尽管它是关于反应性路由而不是反应性消息传递。
有任何想法吗?
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()”它会起作用,我的问题是它仍然是被动的吗?
java - Multi collectItems如何提前终止并返回收集的物品
在我的 quarkus 服务中,我正在构建一个自定义累加器来使用Multi
. 流可能是无限的,我想知道在积累了足够的数据后如何提前终止并收集结果?
下面是我的原型:
java - 测试自己的 Mutiny 算子
我是响应式编程的新手,并创建了我自己的第一个 Mutiny 运算符,如https://smallrye.io/smallrye-mutiny/guides/plug中所述。
我的操作员是一个收集器,它收集列表中的 x 个项目,并在达到 x 或流完成时发送这些项目。
当我开始使用以下代码对其进行测试时:
从我的第一个订阅者那里我得到: [1, 2, 3, 4] [5, 6] 已完成但是 Assertsubscriber 接缝没有得到任何事件,既不是 onItem 也不是 onCompleted 我在某处犯了错误吗?
java - 如何使用 Mutiny 反应式编程调用长时间运行的阻塞 void 返回方法?
我在 Mutiny 的 Uni 上有一个 Async 和 Sync 方法调用链,有些方法是一个长时间运行的过程,返回类型为void
。
在不阻塞下游的情况下调用/调用它们的正确方法是什么?
下面是简单的类比代码。
quarkus - 如何在 Smallrye Mutiny 中为 aa `multi` 添加超时?
在 Smallrye Mutiny 中,我可以为Uni
使用类似的东西添加超时:
我为 a 搜索了类似的 API,Multi
但没有找到。我期望的功能是:
- 如果一段时间没有发出任何项目,则执行某些操作
Multi
如果在给定时间内没有完成,则做某事
这可以以某种方式实现吗?
mutiny - Multi / Uni 操作员文档
我似乎没有找到涵盖 Multi / Uni 所有可用运算符的 Mutiny 文档,例如与此类似的东西。有这样的资源吗?指南部分很棒,但我想对库功能有一个更一般的了解。