You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache Camel路由中将消息体重置为初始值?

在Apache Camel中恢复初始消息体

要恢复步骤1生成的初始消息体,核心思路是先把初始消息体暂存到Exchange的属性中,之后需要重置时再从属性里取出赋值回Body。

修改后的路由代码如下:

from("{{route:from}}") // step 1
    .setProperty("ORIGINAL_BODY", body()) // 暂存初始消息体到自定义属性
    .setBody("hello world") // step 2
    .setBody(exchangeProperty("ORIGINAL_BODY")); // 从属性中取出初始值重置Body

关键说明:

  • setProperty("ORIGINAL_BODY", body()):在步骤1执行完成后,立刻将当前的消息体(即步骤1生成的初始值)存储到名为ORIGINAL_BODY的Exchange属性中,属性名称可自定义,只要后续取值时保持一致即可。
  • setBody(exchangeProperty("ORIGINAL_BODY")):在需要重置消息体的位置,通过exchangeProperty()方法获取之前存储的初始消息体,重新设置为当前消息体。

如果使用Camel的其他DSL风格(如XML),逻辑完全一致:先将初始Body存入属性,再从属性中读取恢复。

内容的提问来源于stack exchange,提问作者user8297969

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:12:00