Вопрос

IT является Хэллоуин, в конце концов.

Вот в чем проблема:Я поддерживаю какой-то старый код J2EE, используя Quartz, в котором у меня заканчиваются потоки. jconsole говорит мне, что при переходе в грушевидную форму не хватает 60 тысяч потоков, из которых на самом деле запущено около 100 (!!).Интуиция и немного погуглить (см. Также здесь) предполагают, что происходит нечто (держу пари, Quartz), создающее неуправляемые потоки, которые никогда не очищаются.

Несколько дополнительных вопросов:

  1. Есть ли инструмент, который я могу легко использовать для отслеживания создания потока, чтобы я мог быть уверен, что проблема действительно в Quartz?

  2. Почти все, что я нашел о подобных проблемах, ссылается на Weblogic;это ложная зацепка для Tomcat?

  3. У кого-нибудь есть известное решение?

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

Обновить:Это явно увеличивает количество потоков без привязки, смотрите Этот график из jconsole.

They're dead, Jim

Это было полезно?

Решение

  • Попробуйте увеличить уровень ведения журнала org.quartz.simpl.SimpleThreadPool для отладки, чтобы получить больше информации.

  • Если это не сработает, попробуйте использовать прослушиватель ведения журнала.Quartz имеет интерфейс JobListener, который указан в его Учебник.Прослушиватель может помочь вам отслеживать выполнение задания.Может быть, задания просто не заканчиваются и заходят в тупик.

  • Настройка org.quartz.threadPool.threadCount чтобы остановить нехватку потоков.

Обновить:

  • Кроме того, вы можете захотеть сделать дамп потока и посмотреть статистику потока. визуальная виртуальная машина имеет плагин под названием TDA, или вы можете использовать Анализатор сброса потока напрямую.

  • На всякий случай проверьте версию quartz, чтобы убедиться в отсутствии известных ошибок.

Другие советы

Посмотрели ли вы jvisualvm - он дает больше информации.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top