Я использую сервер Webphere. Я выполняю загрузку файла через сервлет, используя методы Apache FileUpload.
Я присоединяю слушателя к этому FileUpload, который обновляет поле «процент», обозначающее, какой процент запроса был обработан. Запрос направляется на iframe (цель формы - iframe), так что страница, запустившая запрос, не должна ждать завершения ответа и, следовательно, не будет показывать пользователю только пустую страницу. Я также добавляю ссылку на слушателя прогресса в сеансе.
Со страницы JSP, как только я запускаю отправку в форме, через 1 секунду, а затем каждую секунду я запускаю ajax-запрос, который отправляется сервлету, который ищет ProgressListener и отвечает полем процента. Процесс работает нормально, но в Websphere иногда этот Ajax-запрос может занять до 30 секунд! Я протестировал то же самое на простом сервере Tomcat, и там запрос / ответ приходит через секунду.
Что может быть не так? Это настройка сервера?
Спасибо,
Редактировать : код внутри сервлета, который получает процент от сеанса, запускается сразу после выполнения запроса. Узкое место, похоже, заключается в доставке запроса обратно клиентскому браузеру.