2016-12-07 63 views
0

每当我在我的路由中使用.log()时,下一条路由会收到一个空的正文。 在开始时添加.streamCaching()这已解决,但这是我将永远不得不使用的方式。 streamCaching也会对其他组件有其他影响吗? 要调用我使用ProducerTemplates.asyncSendBody()Apache:使用日志组件后骆驼请求正文丢失

回答

1

路线从Camel's official documentation

虽然流类型(如StreamSourceInputStreamReader)的消息通常用于性能方面的原因,他们也有一个重要的缺点:他们只能被读取一次。为了能够多次处理消息内容,该流需要被缓存。

所以,你的问题在于一个事实,即调用.log()将实际读取流,如果它没有被缓存则后续读取将导致没有数据被返回。