如何从 body object 中的 Exchange object 中获取 headers

How to get headers from within Exchange object in the body object

我有 headers 我正在函数中设置,然后将 Exchange objects 保存到列表中。 newExchange.`in`.setHeader("aggregationCount", 3)

我稍后会尝试检索此 header,我可以在 object 中看到它,它位于 Exchange.in.body.in.headers 的路径中 - 我将如何访问此变量,我已经尝试 (e.`in`.getHeader("aggregationCount") 但这不起作用。我只需要在 Exchange object 上传递 variable/property,如果有其他方法可以做到这一点,请告诉我,我可以改用它。

在 Camel 路由中,您可以简单地使用 .header("HeaderName") 到 return header 值。在这种情况下,类似于:

.header("aggregationCount")

或者如果您需要在条件中使用该值:

.when(header("aggregationCount").isGreaterThan(0))

https://camel.apache.org/components/latest/languages/header-language.html

要回答您的其他问题,您还可以使用 exchangeProperty 来存储和检索值。

https://camel.apache.org/components/3.4.x/languages/exchangeProperty-language.html