Как выполнить действия до того, как приложение gwt перезапустится / закроется?
Я создаю стандартное веб-приложение GWT и использую базу данных MySql. Каждый раз, когда я перекомпилирую свое приложение, моя база данных сбрасывается и начинается заново. Я знаю, что могу помешать сбросу таблицы, но я также хочу сохранить свою базу данных, прежде чем каждый раз перекомпилировать ее. Мои вопросы: 1. где я могу поместить этот метод и как мне его использовать? 2. Какой, по вашему мнению, лучший вариант для сохранения этой базы данных?
Спасибо за помощь
2 ответа
Если вы хотите выполнить какое-либо действие до закрытия приложения, просто добавьте обработчик событий, подобный этому
Window.addWindowClosingHandler(new Window.ClosingHandler(){
@Override
public void onWindowClosing(Window.ClosingEvent event) {
/*do some actions before app closes*/
}
});
Вы можете использовать ServletContextListener. Тогда вы можете слушать contextInitialized
а также contextDestroyed
события, которые (короче) web-app-start и web-app-stop:
public class MyContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
// app has started
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// app has stopped
}
}
Вы также должны поместить это в свой web.xml
(замените реальным именем пакета, которое должно быть на стороне сервера):
<listener>
<listener-class>com.adam.test.server.MyContextListener</listener-class>
</listener>