vert.x - 如何使用 vertx.eventBus().send() 方法将 RoutingContext 对象从路由顶点发送到其他顶点?
问题描述
从具有路由 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' 谁能告诉我如何使用 vertx.eventBus().send 方法发送 RoutingContext 对象?
解决方案
例如,如果您想通过 Vert.x EventBus 发送一个不是 JsonObject 或普通 Java 对象(如 a String
)的对象,您需要实现自己的编解码器。
这意味着基本上描述了您想要转移对象的哪些部分。
您可以在此处查看实现自定义编解码器的示例:
在我看来,为 RoutingContext 实现它仍然没有多大意义。只需转移您实际需要的部分,而不是整个对象。
推荐阅读
- c# - 将 C DLL 导入 C# 控制台应用程序时,如何编组结构参数 byRef?
- javascript - 在结构化 HTML 中查找字符串并在保持结构的同时替换它
- postgresql - PostgreSQL:尝试运行删除查询时在“14”或附近出现语法错误
- python - 时间转换时的输出问题(毫秒)
- python - 多级聚合数据上的 PySpark UDF;我怎样才能正确概括这一点
- oracle-apex - APEX:来自查询的 mysql 中的 blob 数据并以 CSV 格式输出
- javascript - 从 Json API 响应中获取 PDF
- wildfly - 将 Liquibase 扩展添加到 Keycloak
- xamarin.forms - 错误 XALNK7000:Mono.Linker.MarkException:错误处理方法:'System.Void Xamarin.Forms.Accessor/RuntimeRootNode
- docker - Puppeteer/Chromium 代理 ERR_TUNNEL_CONNECTION_FAILED