Назад | Перейти на главную страницу

Tomcat зависает при завершении работы

У меня есть сервер Tomcat, который не выключается.

Он прослушивает правильный порт (8005, для этого), чтобы получить команду SHUTDOWN. Я могу выполнить эту команду с помощью bin/shutdown.sh скрипт или подключившись к этому порту по telnet и набрав SHUTDOWN.

В этот момент порт выключения закрывается; Я больше не могу к нему подключиться. Однако порт AJP13 остается открытым; ничего не авторизовано catalina.out, и все не закрывается.

Кто-нибудь видел это раньше?

Это есть в Solaris 10 на Sparc, если это имеет значение (возможно, нет), и в Tomcat версии 6.0.20.

У меня такое часто случается. Это зависит от того, какие веб-приложения вы используете. Если у вас есть потоки, которые не работают в режиме демона, они должны быть остановлены до завершения работы Tomcat. В моих журналах будет написано «Ожидание освобождения потока», но Tomcat никогда не остановится.

Когда вы установили Tomcat в производственной системе, вы должны поместить сценарий в /etc/init.d, который фактически убивает процесс, если он не останавливается через 30 секунд. Никогда не выключайте и не перезапускайте Tomcat из командной строки со стандартными сценариями в $ CATALINA_HOME / bin, иначе вы можете запустить два экземпляра.