其他分享
首页 > 其他分享> > Vert.x - Core EventBus

Vert.x - Core EventBus

作者:互联网

Vert.x 大多是操作都是异步的,不同Verticle都通讯可以通过EventBus来进行。

EventBus

Vert.x的EventBus可以通过Vertx对象获取,EventBus通过send或publish发送消息,通过consumer消费消息:

public class EventBusStarter {

  public static void main(String[] args) {
    Vertx vertx = Vertx.vertx();
    vertx.eventBus().consumer("ping-pong", message -> {
      System.out.println("recv: " + message.body());
    });
    vertx.eventBus().send("ping-pong", "ping");
  }
}

send和publish的不同点在于,send只会发送给一个接收者,而publish则会通知所有接收者。

另外,EventBus通过相同的地址进行信息通讯,地址是字符串格式,如上面代码中的ping-pong

EventBus的消息体可以是多种类型:

以上这些类型都是可以的。

在 Verticle 中注册了 Event Bus 的处理器,那么这些处理器在 Verticle 被撤销的时候会自动被注销。


彩蛋:关注公众号、或小程序,阅读更多IT文章。

标签:Core,Vert,ping,send,publish,EventBus,pong,vertx
来源: https://www.cnblogs.com/itqn/p/15836576.html