0
每当我在我的路由中使用.log()
时,下一条路由会收到一个空的正文。 在开始时添加.streamCaching()
这已解决,但这是我将永远不得不使用的方式。 streamCaching
也会对其他组件有其他影响吗? 要调用我使用ProducerTemplates.asyncSendBody()
Apache:使用日志组件后骆驼请求正文丢失
每当我在我的路由中使用.log()
时,下一条路由会收到一个空的正文。 在开始时添加.streamCaching()
这已解决,但这是我将永远不得不使用的方式。 streamCaching
也会对其他组件有其他影响吗? 要调用我使用ProducerTemplates.asyncSendBody()
Apache:使用日志组件后骆驼请求正文丢失
路线从Camel's official documentation:
虽然流类型(如
StreamSource
,InputStream
和Reader
)的消息通常用于性能方面的原因,他们也有一个重要的缺点:他们只能被读取一次。为了能够多次处理消息内容,该流需要被缓存。
所以,你的问题在于一个事实,即调用.log()
将实际读取流,如果它没有被缓存则后续读取将导致没有数据被返回。