首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vertx发现节点但看不到消息

Vertx发现节点但看不到消息
EN

Stack Overflow用户
提问于 2015-10-09 17:59:43
回答 1查看 40关注 0票数 1

当我启动一个新的clusteredVertx时,集群管理器找到网络上的其他节点,但是分布式eventBus看不到发布在测试地址上的消息。

例如,在启动新节点时:

代码语言:javascript
复制
VertxOptions options = new VertxOptions();

Vertx.clusteredVertx(options, res -> {
if (res.succeeded()) {
  Vertx vertx = res.result();
}

自动发现其他节点

代码语言:javascript
复制
Members [4] {
  Member [192.168.21.51]:5702
  Member [192.168.21.51]:5703
  Member [192.168.21.51]:5701
  Member [192.168.25.8]:5701 this
}

但是当一条测试消息发布到通道“JsonObject”上时,如下所示:

代码语言:javascript
复制
eventBus eB1 = vertx.eventBus()
JsonObject j = new JsonObject();
j.put("test1", "test2");
eB1.publish("test", j);

它不会被另一个节点上的接收器接收到。

代码语言:javascript
复制
EventBus eB2 = vertx.eventBus();
System.out.println("Receiver start");
MessageConsumer<JsonObject> testChannel = eB2.consumer("test");
testChannel.handler(message -> {
  System.out.println("Received: " + message.body().toString());
}
EN

回答 1

Stack Overflow用户

发布于 2015-10-09 18:18:51

来自here的解决方案是将集群选项设置为本地节点。

代码语言:javascript
复制
String ipAddress = Inet4Address.getLocalHost().getHostAddress();
VertxOptions options = new VertxOptions();
options.setClusterHost(ipAddress);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33035306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档