Я пытаюсь развернуть свой веб-сервис (изначально работающий на JBoss AS5) на новом JBoss AS7 (все) Final.
Проблема в том, что я использовал ServletContextListener для инициализации моей среды (например, для инициализации управления ресурсами),Но когда я пытаюсь развернуть файл war на JBoss AS 7, настраиваемые сервлеты создаются перед тем, как вызывается # contextInitialized-метод слушателя (в случае исключения, поскольку обязательный ресурс не может быть найден).
Мой слушатель:
@WebListener
public class StandardStartup implements ServletContextListener {
@Override
public void contextDestroyed(final ServletContextEvent arg0) {
//destroy environment
}
@Override
public void contextInitialized(final ServletContextEvent arg0) {
//initialize environment
}
}
Мой web.xml:
<?xml version="1.0"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>any.displayname</display-name>
<listener>
<display-name>Startup</display-name>
<listener-class>any.StandardStartup</listener-class>
</listener>
<servlet>
<servlet-name>AnyServlet</servlet-name>
<servlet-class>any.AnyServlet</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AnyServlet</servlet-name>
<url-pattern>/AnyServlet</url-pattern>
</servlet-mapping>
</web-app>
Может кто-нибудь объяснить мне, почему слушатель не вызывается до создания сервлетов (возможно, с возможным обходным путем) илизнает, что я делаю не так?PS: я пытался реализовать слушатель как сервлет и установить загрузку при запуске равной 0, но JBoss AS7 говорит, что я объявил отображение сервлета, которое в этом случае мне не нужно.
Спасибоза вашу помощь!