【问题标题】:Camel - Body becomes empty after logging骆驼 - 伐木后身体变空
【发布时间】:2019-02-07 19:21:33
【问题描述】:

看起来像一个奇怪的问题或文档丢失

案例 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

添加日志会清除交换体吗??

【问题讨论】:

标签: java apache-camel esb


【解决方案1】:

正如@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-07
    • 2022-01-11
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多