Я работаю над интеграцией файла .jar
, который в основном представляет собой приложение Spring с web.xml
, в приложении Spring Boot.
Я получил .war
файл приложения Spring Boot, в котором мне нужно развернуть .jar
.
В моем приложении Spring реализовано несколько прослушивателей контекста, которые были зарегистрированы вweb.xml
, который я хочу зарегистрировать в приложении Spring Boot.
Я попытался запустить приложение Spring Boot, поместив web.xml
в папку WEB-INF, однако в итоге он перезаписывает всеконфигурация проекта вместо. Это позволяет инициализировать слушатели, но не позволяет запускать файл war
.
Удаление / не использование web.xml
приводит к выполнению файла Spring Boot war
, но прослушиватели контекста не инициализируютсяи приведет к исключению нулевого указателя.
Соответствующие части web.xml
:
<listener><listener-class>org.XXX.CustomContextListener</listener-class</listener>
...
<servlet>
<servlet-name>Log4jConfigurationServlet</servlet-name>
<servlet-class>org.XXX.Log4jConfigurationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Log4jConfigurationServlet</servlet-name>
<url-pattern>/ConfigureLog4j</url-pattern>
</servlet-mapping>
Прослушиватель контекста:
@WebListener
public final class CustomContextListener implements ServletContextListener
{
@SuppressWarnings("unused")
@Override
public void contextIntialized(ServletContextEvent servletContextEvent){}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {}
}
Есть ли способ, которым я могу зарегистрировать свойпрослушивать приложение Spring Boot или использовать файл web.xml для jar-файлов в приложении Spring Boot, не переопределяя конфигурации Spring Boot?