как развернуть java EE прослушиватель с помощью @WebListener

#java #jakarta-ee

#java #джакарта-ee

Вопрос:

Я хочу реализовать новый прослушиватель (используя спецификацию servlet 3.0).

 @WebListener
public class LoadingManager implements ServletContextListener 
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {

    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {


    }

}
  

Я упаковываю прослушиватель в jar и хочу знать, какой режим развертывания лучше

  • Поместите jar в tomcat / lib
  • Поместите jar в webapps / My-Application / lib

Если я разверну jar в tomcat / lib, сколько времени будет выполняться контекстная инициализация метода (зная, что у меня есть набор веб-приложений, развернутых на моем экземпляре tomcat)

Заранее спасибо

Комментарии:

1. Лучше добавить его в webapps / My-Application / lib, чтобы его можно было использовать на основе отдельного приложения, а не для всех приложений

2. @NikhilTalreja опубликуйте это как ответ, поскольку это единственно правильный путь. Прослушиватель предназначен для одного конкретного веб-приложения, поэтому поместить его в tomcat / lib не только архитектурно неправильно, я не знаю, как вы можете заставить его работать, поскольку вы не можете ссылаться на какие-либо классы или ресурсы, специфичные для конкретного приложения! Он будет находиться в совершенно неправильном загрузчике классов.

3. Это работает, я не могу контролировать, сколько раз вызывается прослушиватель

Ответ №1:

Лучше добавить его в webapps / My-Application / lib, чтобы его можно было использовать на основе отдельного приложения, а не для всех приложений

Даже у Gimby есть несколько хороших моментов в комментарии.