Что происходит со спящими нитями, когда контейнер выключается? - PullRequest
1 голос
/ 10 ноября 2011

Предположим,

Контейнер Tomcat, на котором запущено веб-приложение.

Запустите команду выключения Tomcat.

В моем случае контейнер Tomcat не завершает работу, поскольку существуют потоки задач, которые остаются после запуска команды выключения.

1 Ответ

2 голосов
/ 10 ноября 2011

Если в Tomcat нет магии, о которой я не знаю (возможно), возможно, проблема в том, что ваши спящие потоки не являются потоками демонов. Как только инициируется отключение JVM (через внешний сигнал HUP / INT / TERM или System.exit или любым другим способом), JVM будет ожидать завершения, пока все потоки, не являющиеся демонами, завершатся нормально. Вам нужно будет организовать упорядоченное завершение работы спящих потоков или установить daemon = true при их создании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...