我正在使用vertx-rx-java
我有两个顶点,它们使用EventBus相互通信,其中一个顶点返回复杂对象作为结果,为此,我创建了自定义MessageCodec
,并希望在EventBus
中注册它。
在标准io.vertx.core.eventbus.EventBus
中,有一种方法registerCodec
,它提供了为该EventBus
注册自定义编解码器的可能性。
但是,由于我使用的是io.vertx.rxjava.core.Vertx
,通过调用vertx.eventBus()
,我接收到了io.vertx.rxjava.core.eventbus.EventBus
,它没有这样的方法。从rxjava EventBus
中删除这个方法的目的是什么,当使用rxjava时使用自定义编解码器被认为是不好的做法吗?如果是这样,推荐的方法是什么?
我发现添加自定义编解码器的唯一方法是调用eventBus.getDelegate()
EventBus eb = vertx.eventBus();
((io.vertx.core.eventbus.EventBus) eb.getDelegate()).registerCodec(new StringMessageCodec());
https://stackoverflow.com/questions/52432697
复制相似问题