Отладьте ServletContextListener.contextDestroyed(), установив точку разрыва в eclipse

Я реализую пользовательский ServletContextListener и размещаю точки останова как на contextInitialized(), так и на contextDestroyed().

При запуске веб-приложения с помощью WTP contextInitialized() может быть остановлен отладчиком. Но когда я закрываю веб-приложение, точки останова в contextDestroyed() не работают, и веб-приложение просто закрывается. Возможно ли и как использовать отладчик для отладки contextDestroyed() в eclipse?

Я хочу проверить, может ли используемый ресурс быть правильно освобожден во время закрытия веб-приложения.


person Ken Chan    schedule 10.01.2012    source источник
comment
Вы пытались создать новый пустой проект веб-приложения и попытаться отладить contextDestroyed?   -  person    schedule 10.01.2012


Ответы (1)


contextDestroyed() будет вызываться только тогда, когда вы изящно завершите работу сервера, открыв представление Серверы, щелкнув правой кнопкой мыши экземпляр сервера и выбрав Остановить, или нажав красную кнопку в < em>Серверы, во всплывающей подсказке которого указано Остановить сервер.

Он не будет вызываться, когда вы полностью завершите работу сервера, нажав красную кнопку в представлении Консоль, подсказка которого гласит Завершить. Прекращение (убийство) — это не то же самое, что остановка.

person BalusC    schedule 10.01.2012
comment
Balusc: Поскольку код в методе contextDestroyed() не выполняется из-за завершения (убийства), будут ли уничтожены все объекты, которые инициализируются в методе contextInitialized()? - person srk; 10.02.2013