如何在Apache骆驼版本2.23.1中的处理器交换对象中获取RouteId?

时间:2019-04-08 16:30:38

标签: apache-camel

我正在将应用程序从Spring Boot 1.x迁移到Spring Boot2.x。在此过程中,我将Apache骆驼从2.20.0版本升级到了2.23.1。在以前的版本中,我可以从处理器中的exchange.getFromRouteId()中读取路由名称,但在升级版本中,当我使用相同的方法时,它会提供像route117这样的自动生成的路由ID。

通过设置id()将Java DSL与REST组件一起使用。还尝试添加设置了id()和routeId()的from()组件之间,仍然相同。

RouteBuilder:

rest("/app").get("/test").id("REST-TEST").to("direct:test").endRest();
 from("direct:test").routeId("TEST").id("TEST").process("TestProcessor");

TestProcessor.java

String routeId = exchange.getFromRouteId();

1 个答案:

答案 0 :(得分:0)

这似乎是Apache camel 2.23.x中的问题,因为当我尝试使用2.22.3版本时,它可以工作并在处理器中提供正确的路由ID。仍然有人可以解决2.23.x版本的问题吗?请让我知道。