Добавление пользовательского кодека в rxjava vertx EventBus - PullRequest
0 голосов
/ 20 сентября 2018

Я использую 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());

1 Ответ

0 голосов
/ 21 сентября 2018

Краткий ответ: он не поддерживается.Как бы то ни было, это изменилось недавно (август) на неизданной главной ветке;см. они удалили @GenIgnore из EventBus здесь .Однако этого пока нет в релизе 3.5.3 .Предположительно, это изменение выйдет в одном из следующих релизов.

...