2016-12-07 76 views
0

每當我在我的路由中使用.log()時,下一條路由會收到一個空的正文。 在開始時添加.streamCaching()這已解決,但這是我將永遠不得不使用的方式。 streamCaching也會對其他組件有其他影響嗎? 要調用我使用ProducerTemplates.asyncSendBody()Apache:使用日誌組件後駱駝請求正文丟失

回答

1

路線從Camel's official documentation

雖然流類型(如StreamSourceInputStreamReader)的消息通常用於性能方面的原因,他們也有一個重要的缺點:他們只能被讀取一次。爲了能夠多次處理消息內容,該流需要被緩存。

所以,你的問題在於一個事實,即調用.log()將實際讀取流,如果它沒有被緩存則後續讀取將導致沒有數據被返回。