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

java - Vertx 3 - SockJS 套接字打开被取消

我创建了一个新的 Verticle,它应该响应 HTTP 请求和 SockJS 桥接事件。基于这个问题https://stackoverflow.com/questions/41516328和 vert.x 手册https://vertx.io/docs/vertx-web/java/#_sockjs我创建了这段代码:

爪哇:

JavaScript 事件总线客户端:

HTTP 请求/响应工作正常,但 SockJS 事件不行。在网络浏览器“网络”模块中,我只看到一个 SockJS 请求(http://localhost:8080/eventbus/info)。8 秒处于“待定”状态,在此之后状态变为“关闭”(最后调用方法 onclose())。

我做错什么了吗?

0 投票
1 回答
625 浏览

deployment - 在 aws 上部署 Vert.x(最佳实践)

我是网络开发的初学者。我使用了 Vert.x 框架。我在 aws 上获得了服务器的 app.jar 文件。每次我用这个命令运行它:

但我不确定,这是正确的方式(我认为这是非专业的)。谁能告诉,最佳实践是什么?我听说,大多数应用程序都部署在 Web 应用程序容器上,例如 Tomcat、JBoss、Jetty 等。请告诉我正确的方法。

0 投票
1 回答
371 浏览

docker - Kotlin 中的 Vert.x 项目在 Docker 中部署

我有一个在 Kotlin 中用 vert.x 框架编写的项目。我构建了 jar 文件,我想通过 Docker 运行这个 jar。但是 docker 找不到我的主 Verticle 文件。

Dockerfile:

通往我的主垂直的路径

PS错误是:

0 投票
1 回答
1488 浏览

java - 在 TCP 服务器中使用 vertx Vertciles 的有效方法

我正在开发一个需要能够管理多达 500 个同时连接的 TCP 服务器。它是一个简单的服务器,等待客户端建立连接。然后,它计算客户端请求的资源,并将其发送给它。

我决定使用 Vertx,而不是每个连接使用一个线程。

一位同事建议我每个连接使用一个verticle。阅读文档,我感觉这样做会违反 Vertx 的原则,并且相当于每个连接执行一个线程。

但问题是,我真的不知道如何以另一种方式做到这一点。我可以有不同的 Verticle 来处理不同的操作,但是这些操作在很短的时间内执行了很多,所以它会涉及到大量的 Verticles 创建。就性能而言,它可能会很昂贵。

所以我的问题是:我应该像我同事说的那样做吗?如果没有,您有什么建议吗?

我知道如果不确切知道服务器需要做什么,这可能很难回答,但这个问题的重点是了解应该如何使用 Vertx 以使其尽可能高效。我不希望有一个完全符合我需求的 anwser,而是建议让我走上正轨。

非常感谢!

0 投票
1 回答
156 浏览

vert.x - 用于连接 Solace VMR 服务器的 VertX 客户端实现

我们如何实现与 Solace VMR 服务器的 VertX 客户端连接?到目前为止,我们正在使用 VertX Standalone 程序连接 Solace VMR。是否有任何标准实现或模式可以用于使用 VertX Cient(如 WAS 或 Tomcat)连接 solace VMR 请建议。

0 投票
1 回答
6534 浏览

java - 没有为参数 [io.vertx.ext.unit.TestContext arg0] 注册 ParameterResolver

我正在尝试为 vertx 相关的东西编写一个测试用例。

这是我的代码

收到以下错误:

org.junit.jupiter.api.extension.ParameterResolutionException:没有为可执行文件 [public static void remoteprocess.java.samples.MyJUnitTest.before(io.vertx.ext) 中的参数 [io.vertx.ext.unit.TestContext arg0] 注册的 ParameterResolver .unit.TestContext)]。在 org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:191) 在 org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174) 在 org.junit.jupiter.engine .execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135) 在 org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116) 在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeBeforeAllMethods org.junit.jupiter.engine.execution 中的 $5(ClassTestDescriptor.java:228)。internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86) 在 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 在 org.eclipse.jdt.internal.junit。 runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner。在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) 处运行(RemoteTestRunner.java:460) 被抑制:org.junit.jupiter.api.extension.ParameterResolutionException:没有为参数注册 ParameterResolver [io.vertx.ext.unit.TestContext arg0] 在可执行文件 [public static void remoteprocess.java.samples.MyJUnitTest.after(io.vertx.ext.unit.TestContext)] 中。在 org.junit。

请帮助解决这个问题。

0 投票
0 回答
432 浏览

docker - Vertx 泊坞窗集群

我正在使用 Docker 部署一个 vertx 项目。我用

docker build -t <image_name> .

并运行

docker run -i -t <image_name>

命令。但它失败了。错误日志是:

docker 文件如下所示:

在此处输入图像描述

0 投票
0 回答
307 浏览

hazelcast - Vertx Clustered EventBus 未收到消息

我在两个项目中有两个独立的 verticles,它们被打包为常规 jar。垂直类型是标准的。第一个 verticle 通过 eventbus.send 方法通过 rest 端点发送消息。另一个 verticle 通过 eventbus.consumer 方法接收该消息(实际上应该接受但失败)。

我通过 maven shade 插件创建了 jars,并使用 -cluster 参数运行。这两个项目都具有 hazelcast 依赖项,我在控制台日志中看到 hazelcast 集群

当 Verticle 在同一个 jar 中时,接收者 Verticle 正在接收消息。

发件人

接收者

有什么问题,有什么想法吗?

编辑

当我将 cluster.xml 添加到两个应用程序时,问题就解决了。

0 投票
1 回答
1219 浏览

vert.x - Vert.x 事件总线保留消息

我正在按照vertx sockjs 示例通过 SockJS 事件总线桥传输数据。

发送代码:

消费者代码:

第一个客户端工作正常。但是,对于第二个连接的客户端,由于它订阅的是同一个 eb 地址,所以它无法获取已发送给第一个客户端的最新数据。如果数据快速传入,这将不是问题。但是如果数据点之间的时间间隔很长,那么第二个客户端会很长时间没有数据,直到下一个新的数据点到来。

那么,Vert.x 的事件总线是否能够保留消息,以便每当新客户端连接时,它可以立即获取最新数据?

我对 Vert.x 还是很陌生,所以任何评论都将不胜感激。

0 投票
1 回答
271 浏览

java - 在 vert.x 中,为什么静态方法在静态代码块之前运行?

我有一个类ConfigFactory,它可以通过 vert.x conf 模块从 JSON 文件中给我一些配置。

但是在 Verticle 中,我使用JsonObject httpConfig = ConfigFactory.getHttpConfig();,它会给我异常 HTTP Config get error! Something went wring during getting the config。此时,result是空的。

我发现静态方法getHttpConfig在静态代码块之前运行。大约一秒钟,静态代码块将运行。那个时候,result还不是空的。

你能帮助我吗?谢谢!