问题标签 [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 投票
2 回答
2197 浏览

java - quarkus: IllegalStateException: 您试图在 IO 线程上执行阻塞操作。这是不允许的,因为阻塞了 IO 线程

我无法理解 quarkus 的一件事。我将 JPA 与 Oracle 一起使用。所以我有错误 IllegalStateException: 你试图在 IO 线程上执行阻塞操作。这是不允许的,因为阻塞了 IO 线程,我在 Quarkus 文档中查看了如何在没有这个困难的情况下进行 JPA 调用。但所有示例和文档都使用 PostgreSQL 或 MariaDB 和响应式客户端。但我还没有找到任何经典的 JDBC 客户端。

我找到了一个部分有效的解决方案。

事实上,我不再有例外。但是 MyBlokingIOCall 方法可以引发异常。我想我可以使用 Uni 的 onFailure 但我们不能将引发异常的方法传递给

事实上,这个方法有一个供应商作为参数,因此必须捕获异常。在这个解决方案中使用 Uni 的 onFailure 是不可能的。如果我在命令模式下使用当前代码

我徒劳地试图以反应形式做到这一点,但我没有找到解决方案。我没有找到任何帮助。我想象过类似的东西。

但这会导致编译错误。实际上 myService 方法不能在 Supplier 中使用,因为它会引发异常。因此必须将其捕获。但是后来我们不再进入 Uni 的 onFailure 并且我们无法追踪我们捕获的错误。

我认为我想太多关于穿着我的命令式代码而不是不同的想法。

但是我无论如何都找不到看起来像这样的文档或示例。我想有一种做事的方式(如果不是 Quarkus 就不会存在)。我认为当你用正确的方法考虑它时,你必须找到文档,但是当你不知道去哪里时,它就更复杂了。我没有找到它,因为我不知道我在寻找什么。

我想我必须封装产生 Uni 或 Multi 的 JPA 调用,该调用由将实体转换为 DTO 的处理器消耗,然后将其传输到将 DTO 转换为响应的资源 Rest 层。JPA 调用也必须能够在处理器和资源层产生错误

因此,有必要在每个步骤中捕获这些错误以通过 Uni 或 Multi 传播它们

但是怎么做呢?

0 投票
1 回答
1010 浏览

transactions - quarkus、mutiny 和响应式 postgresql 没有回滚

我试图在同一个事务中执行 3 个插入,但是当其中一个插入失败时,我无法让事务回滚。

我是响应式世界的新手,这是我的第一个响应式应用程序。

这是数据库模型的简化:

我想在同一个事务中执行以下插入:

但是,当第二次插入失败时,第一次插入不会回滚。

我有以下课程:

  • Processor: 接收来自 kafka 的消息并通过 Service 触发插入
  • Service:使用 3 个 DAO 运行 3 个插入
  • EntityADao: 运行实体 A 的插入
  • EntityBDao: 运行实体 B 的插入
  • EntityBDao: 运行实体 C 的插入

EntityBDao并且EntityCDao喜欢EntityADao

我已经将以下依赖项添加到pom.xml

  • quarkus-smallrye-context-propagation
  • quarkus-narayana-jta

为什么在INSERT B查询EntityBDao失败时,之前执行的查询(INSERT A)没有回滚?我错过了什么?为了让它工作,我必须改变什么?

0 投票
1 回答
2117 浏览

java - 单如何在 REST 调用中获得失败或成功响应

在服务器发送电子邮件后,我正在尝试设置简单的成功/失败响应。

但是,即使经过数小时的尝试多种变体,我仍然没有得到正确的响应。

只是给出一个接受的响应示例代码在这里:

但是,当邮件没有成功发送时,我想在这里提供另一个回复。我试过的是这个(但这是一个没有成功的 Uni 演员):

控制台输出(由于密码错误没有发送邮件时):

还有另一个选择:

控制台日志(带有 println)。它在我收到接受的客户端输出后执行。

客户端输出(由于密码错误没有发送邮件时):

但是机器人没有成功。我只想接收邮件是否已发送或发送时是否有任何错误。有人对如何进行有任何想法提示吗?

0 投票
1 回答
204 浏览

java - Quarkus:v.1.5.1 PgPoolpreparedQuery 带参数?

在 Quarkus 1.5.1 版本中执行带参数的准备好的语句的正确方法是什么?正如我所见, 1.4.2 版本中的preparedQuery()方法PgPool class没有第二个参数。Tuple

Pool类的smallpye-mutiny-vertx-sql-client-0.0.15.jar中的定义是

0 投票
0 回答
262 浏览

websocket - 与 websockets 握手时连接关闭

向 websocket 服务器发送消息时出现问题。

我尝试了一些 chrome 插件,一切正常。

这是我的代码:

我不知道我的客户的握手问题是什么。

任何帮助真的很感激。

谢谢!

0 投票
1 回答
502 浏览

reactive - 如何使用 quarkus 反应式 mysql 客户端和 mutiny api 在 mysql 中插入和获取最后插入的 id

我将如何创建事务、插入行、提交事务并获取最后插入的 id。所以该方法应该返回一个Uni<Integer>. 我是 mutiny api 的新手,我之前使用过vertx.io链接未来处理程序机制,因此重新调整自己以使用 mutiny api 有点困难。我检查了文档并认为类似于以下代码段的内容应该可以工作,但我很难理解如何使它工作并Uni<Integer>从最后一个查询而不是Uni<Void>tx.commit()

0 投票
1 回答
276 浏览

quarkus - 将 Message 转换为 Multi 时使用 Mutiny 管理确认

我正在尝试将单个输入消息转换为多个消息。我有一个带有以下签名的方法:

A是这样的:

对于每一个我想创建一个id. 我怎么能这样做并处理消息的确认?ABin

这是我所拥有的简化,但我不确定这是否是正确的做法:

这是确认消息的正确方法吗?

0 投票
1 回答
59 浏览

resteasy - 在resteasy中返回可能为空的Uni或空的Multi时,http代码是什么?

Uni返回可能为 null 或空/时,我在哪里可以找到 http 代码的文档Multi

我发现在使用 /users/123 之类的获取请求时,返回可能为 null 的 Uni 会返回 http 状态 204(无内容)。这不应该返回 404 吗?在返回结果之前如何检查 Uni 或 Multi?我在用着resteasy

0 投票
1 回答
360 浏览

quarkus - SmallRye 叛变和上下文传播

Quarkus 的(有点)新的响应式 API 很棒,但它在编写代码时引入了一些复杂性(在我看来很像 JavaScript 中的异步代码)。它如何与度量/跟踪/jwt API 集成?或任何由线程上下文传递的东西?

谢谢

0 投票
1 回答
172 浏览

reactive-programming - Quarkus 叛变 - 缺少对 Web 客户端的 OAuth2 支持

我在 Quarkus/mutiny(反应式)中有一个基本实现,并且能够使用工件 smallrye-mutiny-vertx-web-client 使用 REST API。当我使用 mutiny 时,Vertx 是从 io.vertx.mutiny.core.Vertx 导入的。我发现没有兼容的 Vertx mutiny OAuth2 库。工件 vertx-auth-oauth2(在此处描述)似乎只支持裸 Vert.x。

是否有对 Vertx 叛变的 OAuth2 支持?