骆驼 - Body 记录后变为空
Camel - Body becomes empty after logging
看起来像是一个奇怪的问题或文档丢失
案例一
from("direct:ROUTE1").to("someAPI").to("direct:ROUTE2");
from("direct:ROUTE2").log("${body}"); // BODY is printing
案例二
from("direct:ROUTE1").to("someAPI").to("direct:ROUTE2").log("${body}");
from("direct:ROUTE2").log("${body}"); // BODY is empty
添加日志是否清除交换body??
正如@Spara 和@Claus 所建议的那样,为了省去如何启用流缓存的麻烦。
下面是示例代码:
Using Java DSL for Single route
from("direct:ROUTER1")
.streamCaching()
.to("direct:ROUTER2");
Using Spring DSL for Single route
<route streamCache="true">
<from uri="direct:ROUTER1"/>
<to uri="direct:ROUTER2"/>
</route>
For global and per route scope using JAVA DSL
context.setStreamCache(true);
from("direct:ROUTER1")
.to("direct:ROUTER2");
For global and per route scope using Spring DSL
<route streamCache="true">
<from uri="direct:ROUTER1"/>
<to uri="direct:ROUTER2"/>
</route>
看起来像是一个奇怪的问题或文档丢失
案例一
from("direct:ROUTE1").to("someAPI").to("direct:ROUTE2");
from("direct:ROUTE2").log("${body}"); // BODY is printing
案例二
from("direct:ROUTE1").to("someAPI").to("direct:ROUTE2").log("${body}");
from("direct:ROUTE2").log("${body}"); // BODY is empty
添加日志是否清除交换body??
正如@Spara 和@Claus 所建议的那样,为了省去如何启用流缓存的麻烦。
下面是示例代码:
Using Java DSL for Single route
from("direct:ROUTER1")
.streamCaching()
.to("direct:ROUTER2");
Using Spring DSL for Single route
<route streamCache="true">
<from uri="direct:ROUTER1"/>
<to uri="direct:ROUTER2"/>
</route>
For global and per route scope using JAVA DSL
context.setStreamCache(true);
from("direct:ROUTER1")
.to("direct:ROUTER2");
For global and per route scope using Spring DSL
<route streamCache="true">
<from uri="direct:ROUTER1"/>
<to uri="direct:ROUTER2"/>
</route>