[英]Data Streaming from Java EE Application Server
我需要從Application Server(JBoss)檢索一個大文件(千兆字節)並避免將其加載到內存中,我想通過EJB流式傳輸它。
是否可以將數據作為流從Application Server中取出?
創建一個HttpServlet ,流式傳輸該文件。
更新小心標題。 您不能通過setContentLength()
設置ContentLength-Header,因為它只接受int
。
你必須設置它: setHeader("Content-Length", (long)length)
也許這會有所幫助: 使用ServletOutputStream在沒有內存問題的Java servlet中編寫非常大的文件
有一個限制,但它取決於客戶端。 如果客戶端將文件保存在內存中,則無法正常工作。
通過EJB你的意思是遠程bean? 這些bean通常基於RMI,而RMI又使用Java序列化。 您無法使用RMI流式傳輸數據。
但是對於servlet和HTTP,這將非常簡單。 只需將FileInputStream
打開到您的大文件並將其逐字節復制到servlet輸出 。
Content-Length
標頭,以便客戶端知道剩余多少數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.