Как я могу отправить объект RoutingContext из вертикали маршрутизации в другую вертику, используя метод vertx.eventBus(). Send()?
Из моей статьи о маршрутизации с URL-адресом маршрута я хочу отправить объект RoutingContext в другую статью. Я полагаю, что мы можем использовать только vertx.eventBus(). Send() для отправки сообщения от маршрутизации вертикула к некоторому другому действию вертикали. Могу ли я отправить объект RoutingContext как сообщение?
В роутер вертикал я делаю vertx.eventBus().<RoutingContext>send("address", routingContext)
а в потребительской вертикалке я занимаюсьvertx.eventBus().<RoutingContext>consumer("address").handler(message -> {
RoutingContext routingContext = message.body();
LOGGER.info("routingContext body = "+routingContext.getBodyAsString());
});
но похоже, что сам vertx не может выполнить 'vertx.eventBus().send' Может кто-нибудь сообщить мне, как я могу отправить объект RoutingContext с помощью метода vertx.eventBus(). send?
1 ответ
Если вы хотите отправить объект через Vert.x EventBus, который не является JsonObject или простым Java-объектом, таким как String
Например, вам нужно реализовать собственный кодек.
Это означает, что в основном описывается, какие части объекта вы хотите перенести.
Вы можете увидеть примеры реализации вашего собственного кодека здесь:
На мой взгляд, все еще не имеет особого смысла реализовывать его для RoutingContext. Просто перенесите части, которые вам действительно нужны, а не весь объект.