骆驼-记录后身体变空

时间:2019-02-05 07:46:11

标签: java apache-camel esb

看起来很奇怪,或者文档丢失

案例1

from("direct:ROUTE1").to("someAPI").to("direct:ROUTE2");
from("direct:ROUTE2").log("${body}");  // BODY is printing

案例2

from("direct:ROUTE1").to("someAPI").to("direct:ROUTE2").log("${body}");
from("direct:ROUTE2").log("${body}");  // BODY is empty

添加日志会清除交换正文吗?

1 个答案:

答案 0 :(得分:0)

如@Spara和@Claus所建议,并避免了如何启用流缓存的麻烦。

下面是示例代码:

  

将Java DSL用于单路由

from("direct:ROUTER1")
    .streamCaching()
    .to("direct:ROUTER2");
  

使用Spring DSL进行单路由

<route streamCache="true">
   <from uri="direct:ROUTER1"/>
   <to uri="direct:ROUTER2"/>
</route>
  

对于使用JAVA DSL的全局和每个路由范围

   context.setStreamCache(true);

      from("direct:ROUTER1")
         .to("direct:ROUTER2");
  

对于使用Spring DSL的全局和每个路由范围

<route streamCache="true">
   <from uri="direct:ROUTER1"/>
   <to uri="direct:ROUTER2"/>
</route>

注释链接:Camel Stream Caching why stream caching