Как перехватить перезапуск сервера для приложения на базе GWT? - PullRequest
2 голосов
/ 21 декабря 2010

Я разрабатываю веб-приложение, которое использует GWT для клиентов и JCR (Jackrabbit) для персистентности. Подключаемый модуль Maven GWT (mvn gwt: run) запускает некоторый пользовательский интерфейс, где отслеживается связь между клиентами и сервером. Этот интерфейс также предоставляет возможность перезапустить сервер.

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

Есть ли способ зарегистрировать обработчик и определить действие для таких событий сервера?

Ответы [ 2 ]

2 голосов
/ 21 декабря 2010

Вы можете реализовать ServletContextListener. Метод contextDestroyed () сработает, когда контекст будет закрыт.

0 голосов
/ 24 декабря 2010

Пружинная документация: http://static.springsource.org/spring/docs/3.0.x/reference/beans.html

Глава: 3.6.1.2 Уничтожение обратных вызовов

Решение:

<bean id="exampleInitBean" class="examples.ExampleBean" destroy-method="cleanup"/>

Я добавил метод close в класс bean-компонента и указал его как destroy-метод в контексте xml. Теперь этот метод вызывается, когда веб-приложение переходит в режим выключения / перезапуска.

...