2016-08-18 59 views
0

我需要通過HTTP傳遞輸入流。我正在使用mule中的File連接器讀取文件,並將輸入流傳遞給HTTP連接器。文件大小將從250 MB到〜10 GB不等。我正在嘗試使用700 MB文件,並且HTTP連接器內存不足。我認爲連接器正在將所有內容加載到內存中。爲什麼它沒有通過它作爲流。讓我知道什麼是最好的方式來做到這一點。使用HTTP連接器在mule上傳遞HTTP輸入流

+0

歡迎來到StackOverflow。請查閱http://stackoverflow.com/help/how-to-ask以瞭解如何在本網站上最有效地提出問題。您的問題不包含任何代碼,並且不提供足夠的信息以允許特定的答案。請提供更多背景。 – TW80000

+0

希望我能正確理解你的問題。 – star

回答

0

我相信這更多的是建築師層面的設計決定,沒有性能影響。如果它將是一個巨大的文件傳輸,在GB級別更喜歡文件到文件傳輸協議。 在你的情況下,你已經從FTP讀取文件,處理它並再次上傳到FTP或AmazonS3或SFTP。確保您正在上傳壓縮文件。

1.使用Java組件爲HTTP調用編寫自定義代碼並使用分段上傳概念。 (或) 2.分割文件並在HTTP連接器Mule中逐個部分推送。 (或)

3.在Mule中使用批量組件(超快速) - 通常Batch將在一秒鐘內處理大量數據,在這裏您可以按部分分割並推送到HTTP部分(使用批量大小(方便)。

之前選擇第一選項,請嘗試使用批處理組件參見:https://docs.mulesoft.com/mule-user-guide/v/3.6/batch-processing這將有助於you.Batch是專門用來處理大型有效載荷注意:請確保您需要按全部一次性或分條

+0

我想要發送數據的地方沒有SFTP服務器。如果我分割文件並通過http發送它,因爲HTTP連接器最終會加載到內存中,所以我將遇到內存問題 –

0

請分享您的配置xml 請確保您已啓用您的文件連接器中的流式傳輸 如果未啓用整個文件內容將被加載到您的vm whi ch殺死VM

乾杯!