首页 > 解决方案 > Vertx - 不推荐使用 EventBus 发送 - 支持什么?

问题描述

我们正在迁移到 vertx 3.8.0。

   /** @deprecated */
    @Fluent
    @Deprecated
    <T> EventBus send(String var1, Object var2, Handler<AsyncResult<Message<T>>> var3);

方法 send 已弃用。

我认为现在使用了方法请求

它是否正确?如果是这样,有什么区别?它不能只是命名。

我找不到更新日志,通过谷歌推理。

标签: vert.x

解决方案


Vert.x 4 将提供基于未来的异步模型,同时保持与 Vert.x 3.x 回调模型的兼容性。每个回调方法都会有一个对应的未来版本,例如:

client.connect(addr, ar -> ...);

Future<NetSocket> future = client.connect(addr);

有关更多详细信息,请参阅 Vert.x wiki

在这个过程中,一些方法不能正确地未来化,因为有一个回调意味着不同的语义。对于事件总线send方法,有回调意味着需要回复,没有回调意味着触发并忘记。

这就是为什么send在 3.8 中不推荐使用 with 回调并引入了一个名为的新方法request


推荐阅读