问题标签 [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.
kotlin - 读取慢速外部 url 时,带有协程的 Vertx 会阻塞
我对 Vert.x 很陌生,并且即将举一个小例子,每次当我收到GET
对根路径的 -request 时,我都会从某个外部服务器读取当前时间。我认为使用launch
andawaitResult
将为我处理异步部分,但日志只是告诉我,线程正在阻塞。对外部 url 的请求大约需要 5 到 7 秒。使用更快的 url 是可能的,但我有意使用慢速的 url 来感受 Vert.x 的异步方面。
有人可以帮我吗?我对协程做错了什么?
但这给了我
java - Vertx 中的单元测试消费者
我有一段代码要进行单元测试。
和我的消费者方法:
现在我想在不使用 powermockito 的情况下对 doSomethingCool() 进行单元测试(我想要代码覆盖率)并且我不想让我的方法可见(公开)。我怎样才能做到这一点?vertx中的任何钩子可以做到这一点吗?
kotlin - 顶点上传文件:BodyHandler 方法不起作用
我想上传头像。我的端点是使用 OpenAPI3RouterFactory(api.yaml 文件)设置的。
api.yaml:
HandlerVerticle.kt:
当我上传图片时,它上传成功,但在服务器端 vertx 创建了错误的上传目录,并且它不会删除临时上传的文件。谁能帮我?
java - 如何以编程方式停止 Vert.x verticle?
假设我有一个有点像这样的垂直(故意简化以更容易解释我的问题)。
现在想象这MyService
是事件驱动的,我想在服务中发生某些事件时停止垂直。
有没有对 Vert.x 有更多经验的人知道如何做到这一点?或者也许有一些建议可以告诉我什么是正确的替代方法?
java - 如何使用任何模拟框架模拟 io.vertx.ext.jdbc.JDBCClient
我想模拟io.vertx.ext.jdbc.JDBCClient
对以下verticle
代码进行单元测试:
java - Vert.x ConfigRetriever listener 如何将更改传输到所有 Verticle
我与 ConfigRetriever 和他的监听功能斗争。我希望将新的 Config 传递给 Verticle 并让它们使用它。
目前,我只是取消部署所有 Verticle 并使用新配置重新部署它们。在部署新的verticles之前,我需要等到所有verticles都被取消部署以避免碰撞。
但这似乎是一个糟糕的解决方案。我想将它委托给已部署的 Verticle。经过一番小小的搜索,我找到了一种通过事件总线传达变化的方法,例如
在 Configretriever 监听器
在垂直
这似乎是一个很好的方法,因为现在所有的 Verticle 都自行决定它们如何对更改的 Config 做出反应。
但是现在我遇到了一个问题,即在旧配置上设置了 teir,并且不可能以简单的方式更改所有这些设置。(例如 httpserver)
我试过了
但它不影响 Verticle 运行
也只是将过程加倍,但使用旧配置。
尝试使用 JsonObject 并随后对其进行操作失败。
有没有办法解决这个问题,或者重新部署是处理请求更改的最佳方式?
java - Vert.x,RoutingContext 无法接收 json 数组
我在接收 json 数组时遇到问题。
发送 JSON 是:
错误是:
租户安全类:
执行 routingContext.next() 时出错...我该如何解决这个问题?
PS:注册为Security handler的TenantSwitcherHandler类,根据X-TENANT-ID头值切换指向数据库的指针
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 方法中?
谢谢!
vert.x - Vert.x:Verticle 自定义 startFuture 处理程序总是被重写
Vert.x v3.5.1。有我start
的 Verticle 自定义方法:
我希望将来完成时会调用我的自定义处理程序。但事实并非如此!在调试模式下,我看到它FutureImpl::setHandler
被调用了两次:一次使用我的自定义处理程序,然后使用DeploymentManager
's 处理程序 during doDeploy
. 所以应用了最新的处理程序。
问题是:是否可以为 Verticle start 指定自定义回调?如果是,我该怎么做?
先感谢您。
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/