Одной из возможностей является использование ServletContextListener . Это класс в веб-приложении, который прослушивает события запуска (contextInitialized
) и завершения работы (contextDestroyed
) веб-приложения . Ваш код будет выглядеть примерно так:
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class MyServletContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("Application Terminating ...");
}
}
Это не на 100% то, что вы хотите, если веб-приложение, в котором он установлен, например, не развернуто, Wildfly все еще работает, но ваше веб-приложение не,Но если ваша среда такова, что существует только одно веб-приложение или вы можете поместить этот код в веб-приложение, которое должно быть запущено, то это будет работать нормально. Обратите внимание, что это стандартный код JEE, поэтому вы можете запустить его в любом контейнере, который поддерживает сервлеты.