В чем разница в том, как Tomcat отключается? - PullRequest
0 голосов
/ 10 января 2019

У меня есть Tomcat 9.0.0 на Win7. И у меня есть два способа выключить сервер:

  1. Нажмите Ctrl + C в консоли сервера
  2. Выполнить команду остановки каталины

Тем не менее я наблюдаю другое поведение - в то время как первый способ успешно завершает работу, второй оставляет серверный процесс активным (возможно, некоторые незавершенные потоки в пользовательском коде). Поэтому мне интересно, какова практическая разница в этих способах выключения, что происходит внутри tomacat?

1 Ответ

0 голосов
/ 11 января 2019

Обычно, когда вы нажимаете Ctrl + C, операционная система отправляет сигнал уничтожения для этого процесса. При принудительном завершении работы вы можете потерять некоторые критически важные данные или неправильно очистить некоторые ресурсы, например, соединения с базой данных, локальные значения потоков и т. Д.

При запуске команды catalina stop все ресурсы очищаются и закрываются постепенно без каких-либо потерь. Также, если что-либо зарегистрировано с использованием ShutDownHook, это также работает нормально.

...