获取Apache Camel路由中的上一条消息

时间:2014-02-05 19:05:06

标签: apache-camel

我对骆驼很新,所以也许我会以错误的方式解决这个问题,但我正在将消息从一个端点路由到另一个端点并在路上转换它们。但是,下一步是向管道添加身份验证。我有一个跟踪经过身份验证的用户的服务。我的计划是在路由的第一阶段添加一个过滤器,检查当前用户是否经过身份验证。如果用户不是,我想将消息转换为身份验证请求并将其发送到我的端点。到目前为止一切都很好,但是,在认证(如果成功)后,我想将原始消息发送到管道。这是可以做到的吗?

我的路线的简化版本是:

from("seda:in").
  filter(method(Authentication.class, "isNotAuthenticated")).
    bean(AuthenticationTransformer.class)
    to("cxfbean:out")
  .end()
  .bean(RequestTransformer.class)
  .to("cxfbean:out")

同样的消息将被发送到两个变换器bean。

1 个答案:

答案 0 :(得分:2)

在转换之前,您应该在Exchange属性setProperty("originalMessage", body())中保留该消息。之后,您可以使用getProperty("originalMessage")

访问该媒体资源