powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat 5.5.12 Поведение сервлета при обрыве закачки
6 сообщений из 6, страница 1 из 1
Tomcat 5.5.12 Поведение сервлета при обрыве закачки
    #33372744
galisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день !

Есть теоритический вопрос, сам проверить не успел (извиняйте), может кто знает как все это происходит.

Исходные данные: страница с формой выбора файла и сервлет-контроллер. Сервлет пишет файл через класс: org.apache.commons.fileupload.

Юзер выбирает файл и закачивает, в это время или обрыв по связи происходит или просто сам юзер снимает закачку (просто давит на крестик в браузере).

Как я понимаю, управление сервлету из страницы передается сразу, передаваемые данные нигде не буферизуются и выводом данных занимается сам сервлет, вернее класс: org.apache.commons.fileupload.

Как себя ведет сервлет в этом случае ?
Он виснет и будет висеть пока JVM не перестартует ?
В таком случае, (если он еще и SingleThread) , то уже никто не сможет ничего загрузить.
Или он виснет и Tomcat потом сам его снимает ?

Я так понимаю, что будет утечка памяти в случае висюков.

Какая метода разруливания этой ситуации ?

Спасибо заранее
...
Рейтинг: 0 / 0
Tomcat 5.5.12 Поведение сервлета при обрыве закачки
    #33374118
galisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну может кто то все таки знает, хоть часть ответов ?

Спасибо заранее
...
Рейтинг: 0 / 0
Tomcat 5.5.12 Поведение сервлета при обрыве закачки
    #33374326
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galishaну может кто то все таки знает, хоть часть ответов ?

Спасибо заранее

Будет read timeout и в конце концов ServletException. После чего обработка запроса завершится и ваш однопоточный сервлет станет свободен.

Но зачем бы это делать его однопоточным?...
...
Рейтинг: 0 / 0
Tomcat 5.5.12 Поведение сервлета при обрыве закачки
    #33374419
galisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое !

Про однопоточность я написал ради контраста, чтобы подчеркнуть проблему.

Иными словами, в том месте, где идет запись в файл, после timeout'a возникнет исключение, и последующие команды, котоорые идут за вызовами org.apache.commons.fileupload исполняться не будут ?

Если это так, то это замечательно.
...
Рейтинг: 0 / 0
Tomcat 5.5.12 Поведение сервлета при обрыве закачки
    #33374536
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galisha
Иными словами, в том месте, где идет запись в файл, после timeout'a возникнет исключение, и последующие команды, котоорые идут за вызовами org.apache.commons.fileupload исполняться не будут ?

Нну... Например, DiskFileUpload.parseRequest в этом печальном случае кинет FileUploadException. Если это исключение не ловится где-то до выхода из service() (или doGet(), или doPost() ), эти методы завершатся киданием ServletException в контейнер. Если оно ловится, сами решите, что там делать в этом случае.
...
Рейтинг: 0 / 0
Tomcat 5.5.12 Поведение сервлета при обрыве закачки
    #33375913
galisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое,

проэксперементировал на выходных.

Схема такая:

1. Юзер на форме давит Ok
2. Запускается doPost в сервлете, доходит до метода записи файла на диск.
3. Начинает записываться файл (куда то в temp).
4. Юзер рвет соединение.
5. Возникает исключение, и doPost прекращает работу. Причем файл на диске не образуется и это радует.

Ловить исключение не пытался, необходимости такой не возникло.

спасибо еще раз
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat 5.5.12 Поведение сервлета при обрыве закачки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]