2013-11-24 26 views
0

我正在開發一個基於JSF的Web應用程序,該應用程序爲用戶提供打開/保存對話框以下載XML文件。如果用戶在打開/保存對話框出現時單擊打開/保存,文件將被完全下載。但是,如果延遲時間超過90秒,則文件不會下載,或者下載的內容不完整。 (Incomplete file download when waiting minutes before clicking open/save in dialoggrizzly.writeTimeout在文件下載中的影響

我正在使用Glassfish V3服務器。在通過java.dzone中的Glassfish生存指南後,我將com.sun.grizzly.writeTimeout修改爲300000.根據我對各種博客的理解,此jvm選項對應於Grizzly停止等待瀏覽器讀取響應之前的時間字節。默認情況下,如果瀏覽器在30秒後未讀取所有響應字節,則灰熊丟棄連接。當我改變到300000ms時,我認爲Grizzly會在300秒後斷開連接。但是,如果點擊打開/保存的等待時間是15分鐘,則內容已正確下載。如果等待時間超過15分鐘,則內容不完整。 我想知道com.sun.grizzly.writeTimeout對文件下載的行爲和影響。

任何輸入讚賞。

回答

1

灰熊讓試圖發送至少1個字節的數據。每次嘗試可能需要{com.sun.grizzly.writeTimeout}毫秒。

+0

謝謝Alexey的澄清。 – user2455158

+0

writeTimeout有沒有最大限制?我已將此值更改爲600000ms。但連接在16分鐘後關閉。 – user2455158

+0

最大值是Integer.MAX_VALUE。還有一個值可能會影響servlet處理邏輯 - 「請求超時」,這是給servlet一次完成單個請求處理的時間。您可以使用asadmin命令設置/更改它,如:「asadmin set server-config.network-config.protocols.protocol.http-listener-1.http.request-timeout-seconds = 」 – alexey