WebLogic засунул защиту потока

По умолчанию WebLogic уничтожает застрявшие потоки после 15 минут (600 с), этим управляют StuckThreadMaxTime параметр. Однако я не могу найти больше деталей о том, как точно "stuckness" определяется. Конкретно:

  • Какой смысл, в котором начинаются 15 минимальных обратных отсчетов. Обработка запросов запускается? В последний раз wait()- как метод? Что-то еще?
  • Это применяется только к потокам обработки запросов или ко всем потокам? Т.е. обработка запросов может распараллелить, "выходят" из этой защиты путем порождения рабочего потока для долгой задачи? Особенно, это может делегировать ответ, пишущий в такого рабочего без 15 минимальных обратных отсчетов?

Мой вариант использования является загрузкой огромных файлов через систему разрешения. Так как пользователь должен аутентифицироваться и иметь полномочия просмотреть файл, я не могу (или, по крайней мере, не знайте, как), оставляют это простому серверу HTTP, например, Apache. И потому что файлы могут быть огромными, загрузка могла (по крайней мере, в теории), занимают больше чем 15 минут.

21
задан JoseK 13 August 2012 в 08:16
поделиться

1 ответ

Weblogic НЕ уничтожает зависшие потоки после StuckThreadMaxTime . Он не может этого сделать, сообщение представляет собой только информацию о статусе, чтобы вы (то есть администратор) знали, что поток пересек 10 минут (600 секунд = 10 минут, а не 15)

Это настраиваемое значение.

Таймер запускается, когда поток начинает обрабатывать запрос на сервере. Поток не будет убит, но фактически продолжит обработку до завершения операции. поэтому в вашем случае вам не нужно беспокоиться о том, что поток будет убит, он только что сообщил вам о затраченном времени, о котором вы знаете в этом случае использования.

Это относится ко всем потокам AFAIK - любой порожденный поток также будет работать по одним и тем же правилам.

IMHO, Weblogic (или любой сервер приложений) не место для хранения и обслуживания больших файлов. Это идеально подходит для уровня веб-сервера - мы используем SunOne, на котором можно запустить сервлет загрузки файлов. В вашем случае вам понадобится Tomcat вместе с вашим Apache для оптимизации этого.

22
ответ дан 29 November 2019 в 21:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: