我是 camel 的新手,所以也许我以错误的方式解决这个问题,但我正在将消息从一个端点路由到另一个端点并在途中转换它们。然而,下一阶段是向管道添加身份验证。我有一项跟踪经过身份验证的用户的服务。我的计划是,在路由的第一阶段,添加一个过滤器来检查当前用户是否已通过身份验证。如果用户不是,我想将消息转换为身份验证请求并将其发送到我的端点。到目前为止一切都很好,但是,在身份验证之后(如果成功)我想将原始消息发送到管道中。这是可以做到的吗?
我的路线的简化版本是:
from("seda:in").
filter(method(Authentication.class, "isNotAuthenticated")).
bean(AuthenticationTransformer.class)
to("cxfbean:out")
.end()
.bean(RequestTransformer.class)
.to("cxfbean:out")
相同的消息将发送到两个转换器 bean。
最佳答案
在转换消息之前,您应该在 Exchange
属性 setProperty("originalMessage", body())
中保留消息。之后您可以使用 getProperty("originalMessage")
关于apache-camel - 在 Apache Camel 路由中获取之前的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21586232/