apache-camel - 如何在 Apache Camel 版本 2.23.1 的处理器交换对象中获取 RouteId?
问题描述
我正在将我的应用程序从 spring boot 1.x 迁移到 spring boot 2.x。在此过程中,我将 Apache camel 从版本 2.20.0 升级到了 2.23.1。在以前的版本中,我可以从处理器中的 exchange.getFromRouteId() 读取路由名称,但在升级版本中,当我使用相同的方法时,它会自动生成 routeid,如 route117。
通过设置 id() 将 Java DSL 与 REST 组件一起使用。还尝试在设置了 id() 和 routeId() 的 from() 组件之间添加,仍然相同。
路线构建器:
rest("/app").get("/test").id("REST-TEST").to("direct:test").endRest();
from("direct:test").routeId("TEST").id("TEST").process("TestProcessor");
测试处理器.java
String routeId = exchange.getFromRouteId();
解决方案
它看起来像 Apache camel 2.23.x 中的一个问题,因为当我尝试使用 2.22.3 版本时,它可以工作并在处理器中提供正确的路由 ID。如果有人有 2.23.x 版本的解决方案,请告诉我。
推荐阅读
- java - 如何更改 Play 类中的背景颜色?
- python - 在 .csv 文件的字符串列中标记字符串
- php - 如何将媒体:缩略图放入 RSS 提要
- javascript - 从高阶组件返回的组件是否称为闭包?
- c# - SQL查询返回双数据
- javascript - window.print() 和 window.close() 函数 Safari IOS 关闭窗口而不等待打印预览
- javascript - 如何退出 Google 表格中的宏?
- ruby-on-rails - 将 Rails 应用程序推送到 Heroku - “预编译资产失败。”
- python - 字典集的所有组合成 K N 大小的组
- elasticsearch - Elasticsearch 会复制我的数据吗?