注意:使用的是vert.x3.0 仅支持到java8当中有一些lambda表达式。如不明确请自补java8新特性。
The Event Bus
event bus 是vert.x的神经系统。
每个vert.x的实例都有一个单一的event bus 实例。它是使用vertx.eventBus()方法获得的。
event bus 同意程序中的不同语言编写的模块进行通信。不论他们是同样的vert.x实例。还是不同的vert.x实例。
它甚至能够桥接浏览器中执行的Javascript通信。
event bus能够在分布式系统中的多个server节点之间进行点对点通信和多个浏览器。
event bus支持公布/订阅模式。点对点模式,和请求/响应模式。
event bus的API是很easy的。它主要包含注冊消息处理事件、取消处理事件、发送和公布消息。
首先理论
寻址
event bus上的消息被发送到一个地址。
vert.x不包括不论什么花哨的寻址方案。
在vert.x中,一个地址就是一个简单的String字符串。不论什么字符串都是有效的。只是最好的方法是使用某种有计划或者有规则的方案,比方使用一个私有的空间名称。
一些有參考价值的样例:europe.news.feed1, acme.games.pacman, sausages, a