2013-01-31 2 views
1

В настоящее время я развиваюсь на сервере Liferay.Загрузка файла через действие Struts на некоторое время

[liferay-portal-6.1.10-ee-ga1 + tomcat-7.0.25] 

В некоторых случаях мои пользователи загружают файлы из Библиотеки документов.

Что происходит, что, когда они делают это с помощью следующего типа URL

[$LIFERAY_HOST]/c/document_library/get_file?uuid=[$OBNOXIOUSLY_LONG_UUID]&groupId=[$MY_GROUP_ID] 

Файл загрузки занимает возраст до конца.

Фактически, сама загрузка занимает не больше времени, чем требуется. Но кажется, что ответ не закрыт.

Большинство клиентов загрузки (включая Firefox, wget, wireshark ...), похоже, не замечают конца ответа.

Результат состоит в том, что они зависают для нет на то оснований.

Хуже всего то, что у моих пользователей Firefox создается впечатление, что их загрузка занимает много времени для файлов, которые очень малы (например, 20 секунд для 8kb ... thay say, и они правы, это неприемлемо).

Я пытался копать в своих штабелях и оглядываться в источниках спасателя, но я не могу понять, откуда эта латентность.

Я попытался посмотреть на пути этого потока (который выглядел очень многообещающим) 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

+0

Somethings, которые могут помочь: Какой документ магазин вы используете, и у вас есть какие-либо заказные разработки? –

+0

Это действительно очень хороший вопрос. Мои файлы documentLibrary хранятся в файловой системе моего сервера (cf line dl.store.impl = com.liferay.portlet.documentlibrary.store.FileSystemStore в моем портале.свойств мы не переопределили его в portal -ext.properties). На нашем портале liferay есть, конечно, разработки, но ни один из них не работает в текущем рабочем процессе файловой службы. – Ar3s

ответ

1

к сожалению, это вопрос с Liferay. Поиск Lideray трекер ошибок я нашел LPS-29323, описание которого соответствует вашему.

К счастью, исправление кажется простым.

Вы можете просмотреть pull request that fixes the issue или добавить эти строки в WEB-INF\liferay-web.xml

<filter-mapping> 
    <filter-name>ETag Filter</filter-name> 
    <url-pattern>^(/c/document_library/get_file|/c/message_boards/get_message_attachment|/c/wiki/get_page_attachment)(\?.*)?$</url-pattern> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>REQUEST</dispatcher> 
</filter-mapping> 
+0

К несчастью, я только что оставил работу: «(Я попробую это завтра утром). Но так или иначе это кажется странным, поскольку я уже исследовал фильтр ... Возможно, я не исследовал право. Я говорю вам как можно скорее! – Ar3s

+0

Ваш ответ заставил меня углубиться в эту ситуацию фильтра. Оказывается, что моей реальной проблемой был фильтр gzip, который, казалось, работал должным образом на моих первых проверках. – Ar3s

+0

Рад, что это сработало для вас! Я должен добавить ваши собственные выводы в качестве ответа. –

Смежные вопросы