2016-02-02 1 views
1

Я запускаю веб-приложение с помощью tomcat8 и jdk1.8 на сервере linux.Предупреждение Tomcat: Исполнитель, связанный с пулом потоков [http-apr-8080], не полностью отключился

Когда я закрыл кот я получаю следующее предупреждение:

WARNING [main] org.apache.tomcat.util.net.AbstractEndpoint.shutdownExecutor The executor associated with thread pool [http-apr-8080] has not fully shutdown. Some application threads may still be running 

Примечания: я только получаю это предупреждение, когда я выключение кот, не тогда, когда я отменить развертывание моего приложения.

Как я могу «исправить» это предупреждение, чтобы сообщение не появилось. Я делаю дамп потока с помощью Jstack во время работы приложения, и я вижу несколько потоков http-apr-8080-exec.

Спасибо

ответ

0

Эта ошибка была вызвана в результате отключения кота, когда экземпляр был еще «прикреплен» к Elastic Load Balancer. ELB имеет функцию под названием Connection Draining, который по умолчанию установлен в 300 с. Вы можете отключить слив соединения или просто удалить экземпляр из ELB перед выключением tomcat, чтобы не получить предупреждающее сообщение.

1

Мы должны остановить любое приложение, прежде чем мы выключение кота, потому что сервлеты может служить запросы во время процесса завершения работы.

Ссылка:https://www.safaribooksonline.com/library/view/tomcat-the-definitive/0596003188/ch01s02.html

Пожалуйста, проверьте section- Перезапуск Tomcat Он говорит, что «сервлетов Спецификация Java также подсказывает, что, на остановов, контейнеры сервлетов должны ждать каждый сервлет, чтобы закончить обслуживание все запросы, которые выполняются, или ждут истечения времени ожидания для конкретного контейнера, прежде чем выходить из сервлета. Для Tomcat 4 эта длительность таймаута составляет не более полусекунды на сервлет. Когда сервлет ошибочно работает и занимает слишком много времени, чтобы завершить работу просит, чтобы Tomcat выяснил, что ser vlet занял слишком много времени и принудительно вывести его из эксплуатации, чтобы Tomcat мог отключиться. Эта обработка занимает много времени, хотя и замедляет собственной обработку завершения работы приложения Tomcat «

Best Practice:... Когда вы остановите приложение от кота, сервлеты из эксплуатации Следовательно, вы не столкнутся с этой проблемой

Пожалуйста, следить за процессом остановки приложения первого и выключения сервера Tomcat.

+0

Спасибо. Я не уверен, что это правда ... вам нужно отключить все веб-приложения, прежде чем останавливать tomcat. Я рассмотрю это и уточню, если найду конкретные доказательства. – theyuv

+0

Я исправил ответ. Я надеюсь, что это будет полезно –

Смежные вопросы