По умолчанию WebLogic убивает потоки после 15 минут (600 с), это контролируется параметром StuckThreadMaxTime
. Однако я не могу найти более подробную информацию о том, как именно определяется "застревание". В частности:
- В какой момент начинается отсчет 15 минут. Начало обработки запроса? Последний
wait()
-подобный метод? Что-то еще? - Используется ли это только для потоков обработки запросов или для всех потоков? То есть может ли поток обработки запроса "избежать" этой защиты, создавая рабочий поток для выполнения длительной задачи? В частности, может ли он делегировать ответное письмо такому работнику без обратного отсчета 15 минут?
My usecase - это загрузка огромных файлов через систему разрешений. Поскольку пользователь должен быть аутентифицирован и иметь разрешения на просмотр файла, я не могу (или, по крайней мере, не знаю, как) оставить это на простом HTTP-сервере, например. Apache. И поскольку файлы могут быть огромными, загрузка может (по крайней мере теоретически) занимать более 15 минут.