向rxjava vertx事件总线添加自定义编解码器

向rxjava vertx事件总线添加自定义编解码器,java,rx-java,vert.x,Java,Rx Java,Vert.x,我使用的是vertxrxjava 我有两个使用EventBus相互通信的垂直轴,其中一个垂直轴返回复杂对象作为结果,为此我创建了自定义MessageCodec,并希望在EventBus中注册它 在标准io.vertx.core.eventbus.eventbus中,有一种方法registerCodec,可以为该eventbus注册自定义编解码器 然而,由于我使用的是io.vertx.rxjava.core.vertx,通过调用vertx.eventBus(),我收到了io.vertx.rxjav

我使用的是
vertxrxjava

我有两个使用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()


简短回答似乎不受支持。Hoewever最近(8月)在未发布的主分支上发生了变化;请参见他们从
EventBus
中删除了
@GenIgnore
。然而,这还没有在发布中。这一更改可能会在下一个版本中发布。

简短回答似乎不受支持。Hoewever最近(8月)在未发布的主分支上发生了变化;请参见他们从
EventBus
中删除了
@GenIgnore
。然而,这还没有在发布中。这一变化可能会在下一个版本中出现。

警告:我对Vertex/EventBus几乎一无所知,但我可以看到它返回的结果确实有。这与你的陈述相矛盾。。。也许升级可以解决你的问题?@WillCain你看错了类,这是来自vertx core的,我写道它工作得很好,然而,我使用的是vertx rxjava,所以如果您查看
io.vertx.rxjava.core.vertx
类,它将返回
io.vertx.rxjava.core.eventbus.eventbus
,而该类没有此类方法。明白了。抱歉,您的问题似乎最初引用了io.vertx.core.eventbus.eventbus。好消息是最近(8月)主分支上的情况发生了变化,请参见他们删除了@GenIgnore警告:我对Vertex/eventbus几乎一无所知,但我可以看到返回的确实有。这与你的陈述相矛盾。。。也许升级可以解决你的问题?@WillCain你看错了类,这是来自vertx core的,我写道它工作得很好,然而,我使用的是vertx rxjava,所以如果您查看
io.vertx.rxjava.core.vertx
类,它将返回
io.vertx.rxjava.core.eventbus.eventbus
,而该类没有此类方法。明白了。很抱歉,您的问题似乎最初引用了io.vertx.core.eventbus.eventbus。好消息是最近(8月)在主分支上的情况发生了变化,请参见他们删除了@GenIgnore Vert.x使用代码生成来创建Vert.x语言API(Javascript、Ruby)和RxJava API。某些类型不受支持,因此生成的API缺少一些方法。正如Will所指出的,这将在3.6中发生变化(将在未来几个月发布)。Vert.x使用代码生成来创建Vert.x语言API(Javascript、Ruby)和RxJava API。某些类型不受支持,因此生成的API缺少一些方法。正如威尔所指出的,这将在3.6中发生变化(将在未来几个月发布)。
EventBus eb = vertx.eventBus();

((io.vertx.core.eventbus.EventBus) eb.getDelegate()).registerCodec(new StringMessageCodec());