Vertx群集EventBus未收到消息

时间:2018-07-19 21:03:51

标签: hazelcast vert.x vertx-verticle

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

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

当这些顶点在同一个jar中时,接收者的顶点正在接收消息。

发件人

EventBus eventBus = vertx.eventBus();
String message = routingContext.request().getParam("param");
eventBus.send("address", message, reply -> {
   if (reply.succeeded()) {
      System.out.println("Received reply: " + reply.result().body());
   } else {
      System.out.println("No reply");
   }
});

接收器

@Override
public void start() throws Exception {

    EventBus eventBus = vertx.eventBus();
    eventBus.consumer("address", message -> {
        System.out.println("Message: " + message.body());
        receivedMessage.reply("message received");
    });

    System.out.println("Receiver ready!");
}

怎么了,有什么主意吗?

编辑

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

0 个答案:

没有答案