Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск метода перед остановкой Tomcat / 11 сообщений из 11, страница 1 из 1
31.01.2019, 13:59
    #39767591
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
Всем привет!

Java 8, Spring 2.1.2, Tomcat 8.5.37

На Tomcat крутится приложение-сервис, которое нужно корректно завершать перед остановкой приложения (например, через Tomcat manager) или перед остановкой Tomcat.

Как можно в коде приложения определить, что дана команда на остановку приложения или Tomcat, чтобы можно было успеть вызвать метод у объекта и закрыть открытые сессии?
...
Рейтинг: 0 / 0
31.01.2019, 14:13
    #39767602
alex55555
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
MolasarКак можно в коде приложения определить, что дана команда на остановку приложения или Tomcat, чтобы можно было успеть вызвать метод у объекта и закрыть открытые сессии?
Читаем про жизненный цикл приложения в спецификации сервлетов.
...
Рейтинг: 0 / 0
31.01.2019, 14:13
    #39767603
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
Molasar,
@PreDestroy
...
Рейтинг: 0 / 0
31.01.2019, 16:23
    #39767695
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
Вот что мне нужно, но это на Java EE:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

@WebListener
public class MyAppServletContextListener implements ServletContextListener{

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("ServletContextListener destroyed");                
    }

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("ServletContextListener started");
    }
    
}


а есть аналог на Spring?

ОзверинMolasar,
@PreDestroy
...
Рейтинг: 0 / 0
31.01.2019, 16:40
    #39767706
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
Molasar, причем полный.
...
Рейтинг: 0 / 0
01.02.2019, 10:03
    #39767934
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
При остановке приложения в Tomcat все бины, созданные этим приложением будут уничтожаться?
А @PreDestroy будет вызываться перед уничтожением бина?

ОзверинMolasar,
@PreDestroy
...
Рейтинг: 0 / 0
01.02.2019, 10:23
    #39767946
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
Molasar, создайте публичный метод, вставьте в него логгер события, задеплойте на томкат и остановите затем. Узнаете.
...
Рейтинг: 0 / 0
01.02.2019, 11:07
    #39767986
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
MolasarВот что мне нужно, но это на Java EE:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

@WebListener
public class MyAppServletContextListener implements ServletContextListener{

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("ServletContextListener destroyed");                
    }

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("ServletContextListener started");
    }
    
}


а есть аналог на Spring?

У меня в проекте на Spring 4.0.1 это работает.
Tomcat тоже 5.37.
...
Рейтинг: 0 / 0
01.02.2019, 11:11
    #39767990
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
Ну конечно нужно в WEB.XML добавить
Код: xml
1.
2.
3.
        <listener>
            <listener-class>имя.вашего.пакета.MyAppServletContextListener</listener-class>
        </listener>
...
Рейтинг: 0 / 0
01.02.2019, 12:09
    #39768050
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
SQL2008Tomcat тоже 5.37.???
...
Рейтинг: 0 / 0
01.02.2019, 12:56
    #39768107
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск метода перед остановкой Tomcat
вадяSQL2008Tomcat тоже 5.37.???
Хотел написать Tomcat 8.5.37

:)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск метода перед остановкой Tomcat / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]