两个顶点之间需要发送和接收数据。是否有两个事件总线地址,每个方向一个。或者可能有一个vert.x事件总线地址,并在同一地址上发送/接收这两个地址。
答案 0 :(得分:1)
在vert.x中,当您通过eventBus发送消息时,可以注册一个replayHandler来接收回复消息。
<T> EventBus send(String address,
Object message,
Handler<AsyncResult<Message<T>>> replyHandler)
答案 1 :(得分:0)
EventBus是单向的。
如果您需要从A->B
和B->A
发送独立消息,则必须注册两个地址。
我仍然建议不要这样做,因为循环依赖关系容易出错。本质上,这是造成死锁的常见秘诀。 A正在等待来自B的消息,而B正在等待来自A的消息。
在这种情况下通常要做的是介绍经纪人。该代理将接收所有消息,并确定此消息从何处到达。因此,他们将使用回复机制来代替A和B各自持有一个EventBus地址。