问题标签 [vertx-eventbus]

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

java - Scala 编译错误 Vert.x 响应未来

我正在尝试从https://vertx.io/docs/vertx-core/scala/#_the_event_bus_api复制代码,但出现编译错误。

我收到此错误:

我该如何解决这个问题?

我正在使用 Scala 2.12.8 和 Vert.x 3.7.1

我环顾四周,但没有成功。

感谢提前!

0 投票
1 回答
162 浏览

vert.x - Vertx 事件总线和 Verticle 实例

我们目前每个 Verticle 使用 2 个实例来满足我们的扩展需求,我刚刚查询了有关 evenBus 发布的问题。

如果 eventBus 发布一条消息,这条消息是否会传递到部署的 N 个 Verticle 实例?

0 投票
1 回答
1002 浏览

vert.x - 如何使用 vertx.eventBus().send() 方法将 RoutingContext 对象从路由顶点发送到其他顶点?

从具有路由 URL 的路由顶点中,我想将 RoutingContext 对象发送到另一个顶点。我相信我们只能使用 vertx.eventBus().send() 将消息从路由顶点发送到其他动作顶点。我可以将 RoutingContext 对象作为消息发送吗?

在我正在做的路由器垂直 vertx.eventBus().<RoutingContext>send("address", routingContext)

在消费者垂直我正在做 vertx.eventBus().<RoutingContext>consumer("address").handler(message -> { RoutingContext routingContext = message.body(); LOGGER.info("routingContext body = "+routingContext.getBodyAsString()); });

但看起来 vertx 本身无法执行 'vertx.eventBus().send' 谁能告诉我如何使用 vertx.eventBus().send 方法发送 RoutingContext 对象?

0 投票
2 回答
755 浏览

vert.x - Vertx - 用于事件处理的多个与单个 Verticle

设想

我在 Vertx 事件总线的特定“地址”中收到一条消息 - 该消息可以有四种类型。处理程序应处理消息并将结果发送到另一个事件总线“地址”,其处理程序将其发布到外部服务 api。

问题

如何为此设计Verticle?我在下面描述了两种方法——考虑到这将部署在 Kubernetes 中,哪一种更高效、更快并且能够很好地扩展。工人verticles怎么样?我还缺少其他任何有效的方法吗?

方法

  1. 为每种类型编写一个verticle,由一个事件总线消费者消费和处理这种类型。将处理后的数据发送到“external-service-call”地址。
  2. 只写一个 verticle - eventbus handler 可以根据消息的类型决定并调用适当的方法,最后将其发布到“external-service-call”地址。

据我了解,我可以通过部署该 Verticle 的多个实例来扩展第二种方法。通过缩放,我的意思是这可以同时接受和处理大量的音量?第一种方法怎么样?

你认为我应该知道的其他方法?

0 投票
1 回答
373 浏览

spring-boot - eventBus().consumer() 永远不会被调用

通过将这些依赖项添加到 build.gradle,我已将 vert.x 添加到 Spring Boot 应用程序:

我想使用 vert.x EventBus 在单个 JVM 应用程序(无 Verticles)中实现反应式代码。

我已经验证出站拦截器有效并且 SharedData 有效。但是,没有任何入站拦截器或消费者被调用的迹象。

我怀疑在配置 vert.x 时我忽略了一些东西,或者在 Spring Boot 中嵌入 vert.x 会以某种方式阻止接收入站消息。

这是输出。没有任何错误。

0 投票
1 回答
129 浏览

vert.x - Vertx 应用程序的混沌测试

用于对部署在 Openshift 上的 Vertx 应用程序进行混沌测试的任何工具的指针。Chaos Monkey 或任何其他工具会起作用吗?

0 投票
1 回答
251 浏览

angular - Vert.x 事件总线客户端在构造函数之外的 Angular 7 中不起作用

我尝试在我的 Angular Web 项目中使用 vertx-eventbus-client.js 3.8.3。以下工作正常:

将建立与后端的连接,我通过 registerHandler 方法接收消息。但是当我在这样的函数中移动代码时:

它出错并引发以下错误:

你知道我做错了什么吗?

问候

0 投票
1 回答
2346 浏览

java - 在 Vertx 中通过事件总线发送对象集合的最佳方式是什么?

我有一个在给定端点提供 HTTP 请求的处理程序。处理程序通过事件总线向 Verticle 发送消息,该事件总线进行一些外部分页 REST 调用,聚合结果,并将结果返回给处理程序。分页 REST 调用的结果表示为自定义对象列表。如果我只是尝试发送它List自己,Vertx 会抛出一个异常,抱怨它找不到java.util.ArrayList.

我试图在 Vertx 中找到“最好的”——即最简单、最有效、最易读/可维护的方式——通过事件总线将这些对象的列表发送回我的处理程序。这些是我所知道并尝试过的选项,有没有更好的方法来实现这一点?

  1. 将列表序列化为 JSON 并存储在JsonObject. 这需要在两端进行明确的序列化/反序列化,这似乎是不必要的:
  1. 为 定义消息编解码器ArrayList<CustomObject>。理论上我相信这会起作用,但我在网上看到的消息编解码器的所有示例总是关于为单个 对象创建编解码器,我不完全确定这是否适用于集合。

有没有更简单的方法适合我不知道的用例?谢谢!

0 投票
1 回答
188 浏览

javascript - 用 Java Vert.x 客户端替换 JavaScript SockJS 客户端

我在 java vertx 中有一个工作服务器和一个客户端,但是在 SockJS 中,我想在 java 中制作这个客户端,我怎样才能将它转换为 java:

我正在寻找的主要是vertx客户端连接到我的vertx服务器的基本启动代码

0 投票
1 回答
817 浏览

hazelcast - Vert.x 事件总线达到极限时的行为

我缺少对事件总线 / Hazelcast 工作原理的理解。

想象一个消费者和生产者 Verticle 通过集群 EB 进行通信的情况。消耗部分是做 CPU / 内存 / IO 密集型计算。

当在某些时候由于负载消费者无法立即处理消息时,会发生什么?

消息是否会在环形缓冲区中排队并最终在稍后处理(考虑到 Netty 的vert.x 中事件总线的大小SingleThreadEventLoop限制为 20 亿)?如果达到限制,它们会被丢弃吗?

一般来说,只要集群中没有组件崩溃,EB中的消息是否可以被认为是持久的并具有传递保证?