我目前正在Liferay服務器上開發。通過Struts進行文件下載操作暫停一段時間
[liferay-portal-6.1.10-ee-ga1 + tomcat-7.0.25]
在某些情況下,我的用戶從文檔庫下載文件。
會發生什麼事是,當他們與下列類型的網址這樣做
[$LIFERAY_HOST]/c/document_library/get_file?uuid=[$OBNOXIOUSLY_LONG_UUID]&groupId=[$MY_GROUP_ID]
文件下載需要年齡結束。
實際上,下載本身並不需要比所需時間更多的時間。但似乎答覆並未結束。
大多數下載客戶端(包括Firefox,wget,wireshark等)似乎沒有被注意到響應的結束。
結果是他們掛在沒有實際的好理由。
最糟糕的情況是,我的Firefox用戶有一個印象,他們的下載花費了很長時間,對於真正很小的文件(比如8kb的20秒......泰語說的是對的,這是不可接受的)。
我試圖挖掘我的堆棧,並環顧liferay的來源,但我無法確定延遲來自何處。
我試圖在這個線程(這看起來真的有希望的)的方式來看待https://www.liferay.com/community/forums/-/message_boards/message/11838689
但這並不適用於我的問題。我強制所有的過濾器類都吐日誌消息,並且它們似乎都在幾毫秒內執行(最多隻有一秒鐘)。
我試着檢查httpservletrequest的輸出流的沖洗和關閉,它們都執行正確和乾淨...我開始對自己失去希望和信心...我很傷心,我覺得很髒,我需要咖啡... 請幫幫我 !
----編輯:答案----
(其實我的問題是有關gzip的過濾器 ,我沒有在我的第一次嘗試找出一個方法在我的確切版本RP的答案。是不是實際的解決方案,但它是一個很大的緊密版本 如果你遇到了同樣的問題,broxse無論是RP的答案(樓下)或本:
www.liferay.com/community/forums/-/message_boards/message/21186157#_19_message_21215343
出頭,可以幫助:什麼文檔存儲您使用的是和你有任何的定製開發? –
這確實是一個非常好的問題。我的documentLibrary文件存儲在我的服務器的文件系統中(請參閱我的門戶中的dl.store.impl行= com.liferay.portlet.documentlibrary.store.FileSystemStore行。屬性我們沒有覆蓋它在portal-ext.properties中)。 我們的liferay門戶當然有自己的開發項目,但目前的文件服務工作流程中沒有任何開發項目。 – Ar3s