问题标签 [vertx-verticle]

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 回答
745 浏览

kotlin - 读取慢速外部 url 时,带有协程的 Vertx 会阻塞

我对 Vert.x 很陌生,并且即将举一个小例子,每次当我收到GET对根路径的 -request 时,我都会从某个外部服务器读取当前时间。我认为使用launchandawaitResult将为我处理异步部分,但日志只是告诉我,线程正在阻塞。对外部 url 的请求大约需要 5 到 7 秒。使用更快的 url 是可能的,但我有意使用慢速的 url 来感受 Vert.x 的异步方面。

有人可以帮我吗?我对协程做错了什么?

但这给了我

0 投票
1 回答
227 浏览

java - Vertx 中的单元测试消费者

我有一段代码要进行单元测试。

和我的消费者方法:

现在我想在不使用 powermockito 的情况下对 doSomethingCool() 进行单元测试(我想要代码覆盖率)并且我不想让我的方法可见(公开)。我怎样才能做到这一点?vertx中的任何钩子可以做到这一点吗?

0 投票
1 回答
770 浏览

kotlin - 顶点上传文件:BodyHandler 方法不起作用


我想上传头像。我的端点是使用 OpenAPI3RouterFactory(api.yaml 文件)设置的。

api.yaml:


HandlerVerticle.kt:

当我上传图片时,它上传成功,但在服务器端 vertx 创建了错误的上传目录,并且它不会删除临时上传的文件。谁能帮我?

0 投票
1 回答
945 浏览

java - 如何以编程方式停止 Vert.x verticle?

假设我有一个有点像这样的垂直(故意简化以更容易解释我的问题)。

现在想象这MyService是事件驱动的,我想在服务中发生某些事件时停止垂直。

有没有对 Vert.x 有更多经验的人知道如何做到这一点?或者也许有一些建议可以告诉我什么是正确的替代方法?

0 投票
2 回答
1298 浏览

java - 如何使用任何模拟框架模拟 io.vertx.ext.jdbc.JDBCClient

我想模拟io.vertx.ext.jdbc.JDBCClient对以下verticle代码进行单元测试:

0 投票
0 回答
615 浏览

java - Vert.x ConfigRetriever listener 如何将更改传输到所有 Verticle

我与 ConfigRetriever 和他的监听功能斗争。我希望将新的 Config 传递给 Verticle 并让它们使用它。

目前,我只是取消部署所有 Verticle 并使用新配置重新部署它们。在部署新的verticles之前,我需要等到所有verticles都被取消部署以避免碰撞。

但这似乎是一个糟糕的解决方案。我想将它委托给已部署的 Verticle。经过一番小小的搜索,我找到了一种通过事件总线传达变化的方法,例如

在 Configretriever 监听器

在垂直

这似乎是一个很好的方法,因为现在所有的 Verticle 都自行决定它们如何对更改的 Config 做出反应。

但是现在我遇到了一个问题,即在旧配置上设置了 teir,并且不可能以简单的方式更改所有这些设置。(例如 httpserver)

我试过了

但它不影响 Verticle 运行

也只是将过程加倍,但使用旧配置。

尝试使用 JsonObject 并随后对其进行操作失败。

有没有办法解决这个问题,或者重新部署是处理请求更改的最佳方式?

0 投票
1 回答
1322 浏览

java - Vert.x,RoutingContext 无法接收 json 数组


我在接收 json 数组时遇到问题。

发送 JSON 是:


错误是:

租户安全类:

执行 routingContext.next() 时出错...我该如何解决这个问题?

PS:注册为Security handler的TenantSwitcherHandler类,根据X-TENANT-ID头值切换指向数据库的指针

0 投票
1 回答
1995 浏览

java - Vert.x - Verticle 和 Services 之间的区别

几天前我们开始使用 vert.x。阅读文档(Java 开发人员使用 Eclipse Vert.x 进行异步编程的温和指南 - https://vertx.io/docs/guide-for-java-devs/)我理解了垂直概念。我不明白的是“服务”和“服务代理”的概念:

“这是服务代理的主要目的。它让您在事件总线上公开服务,因此,任何其他 Vert.x 组件只要知道发布服务的地址就可以使用它。服务被描述使用包含遵循异步模式的方法的 Java 接口。在后台,消息在事件总线上发送以调用服务并获取响应。但为了便于使用,它会生成一个您可以直接调用的代理“

但是,单个服务如何与 Verticle 和事件循环概念相关联?它是属于一个单独的独立 Verticle 并且它有他单独的事件循环还是属于一个特定的 Verticle?我应该在何时何地注册服务?在 Verticle 的 start 方法中还是在 main 方法中?

谢谢!

0 投票
2 回答
266 浏览

vert.x - Vert.x:Verticle 自定义 startFuture 处理程序总是被重写

Vert.x v3.5.1。有我start的 Verticle 自定义方法:

我希望将来完成时会调用我的自定义处理程序。但事实并非如此!在调试模式下,我看到它FutureImpl::setHandler被调用了两次:一次使用我的自定义处理程序,然后使用DeploymentManager's 处理程序 during doDeploy. 所以应用了最新的处理程序。

问题是:是否可以为 Verticle start 指定自定义回调?如果是,我该怎么做?

先感谢您。

0 投票
1 回答
694 浏览

vert.x - Vertx Java 客户端在连接 solace vmr 服务器时抛出“SMF AD 绑定响应错误”

当我尝试连接 solace VMR 服务器并从名为 Vertx AMQP Bridge 的 Java 客户端传递消息时。

我能够连接 Solace VMR 服务器,但连接后无法向 Solace VMR 发送消息。我正在使用来自 vertx 客户端的以下发件人代码。

}

我收到以下错误:

网桥启动失败:io.vertx.core.impl.NoStackTraceThrowable: Error{condition=amqp:not-found, description='SMF AD bind response error', info={solace.response_code=503, solace.response_text=Unknown Queue} 2018 年 4 月 27 日下午 3:07:29 io.vertx.proton.impl.ProtonSessionImpl 警告:接收器因错误 io.vertx.core.impl.NoStackTraceThrowable 关闭:错误{condition=amqp:not-found, description='SMF AD 绑定响应错误', info={solace.response_code=503, solace.response_text=Unknown Queue}}

我已经在 solace VMR 中正确创建了队列和主题,但无法发送/接收消息。我是否缺少 solace VMR 服务器端的任何配置?上面的 Vertx Sender Java 代码是否需要任何代码更改?传递消息时,我收到上面的错误跟踪。有人可以帮忙吗?

Vertx AMQP 桥 Java 客户端:https ://vertx.io/docs/vertx-amqp-bridge/java/