我对骆驼很新,所以也许我会以错误的方式解决这个问题,但我正在将消息从一个端点路由到另一个端点并在路上转换它们。但是,下一步是向管道添加身份验证。我有一个跟踪经过身份验证的用户的服务。我的计划是在路由的第一阶段添加一个过滤器,检查当前用户是否经过身份验证。如果用户不是,我想将消息转换为身份验证请求并将其发送到我的端点。到目前为止一切都很好,但是,在认证(如果成功)后,我想将原始消息发送到管道。这是可以做到的吗?
我的路线的简化版本是:
from("seda:in").
filter(method(Authentication.class, "isNotAuthenticated")).
bean(AuthenticationTransformer.class)
to("cxfbean:out")
.end()
.bean(RequestTransformer.class)
.to("cxfbean:out")
同样的消息将被发送到两个变换器bean。
答案 0 :(得分:2)
在转换之前,您应该在Exchange
属性setProperty("originalMessage", body())
中保留该消息。之后,您可以使用getProperty("originalMessage")