Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Servlets JBoss AS7:ServletContextListener#在Servlet实例化后调用contextInitialized_Servlets_Servlet 3.0_Jboss7.x - Fatal编程技术网

Servlets JBoss AS7:ServletContextListener#在Servlet实例化后调用contextInitialized

Servlets JBoss AS7:ServletContextListener#在Servlet实例化后调用contextInitialized,servlets,servlet-3.0,jboss7.x,Servlets,Servlet 3.0,Jboss7.x,我正试图在新的JBoss AS7(Everything)Final上部署我的webservice(最初在JBoss AS5上运行)。 问题是我使用了ServletContextListener来初始化我的环境(例如初始化资源管理)。 但是,当我尝试在JBoss AS 7上部署war文件时,配置的servlet在调用侦听器的#contextInitialized方法之前被实例化(这种情况下会出现异常,因为无法找到必需的资源) 我的听众: @WebListener public class Stan

我正试图在新的JBoss AS7(Everything)Final上部署我的webservice(最初在JBoss AS5上运行)。
问题是我使用了ServletContextListener来初始化我的环境(例如初始化资源管理)。 但是,当我尝试在JBoss AS 7上部署war文件时,配置的servlet在调用侦听器的#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
    }
}
My 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>

any.displayname
启动
任何标准启动
任意servlet
any.AnyServlet
10
任意servlet
/任意servlet
有人能解释一下为什么在servlet实例化之前没有调用侦听器(可能有一个可能的解决方法),或者知道我做错了什么吗? 注:我试图将侦听器实现为一个Servlet,并将启动时的负载设置为0,但JBoss AS7说我已经声明了一个Servlet映射,在这种情况下我不想要它


谢谢你的帮助

你有没有想过?我遇到了一个非常类似的问题。不,不幸的是,我不得不改变我的设计以不使用资源,这些资源本来可以在构造函数中访问。你有没有想过这个问题?我遇到了一个非常类似的问题。不,不幸的是,我不得不改变我的设计以不使用资源,而这些资源本可以在构造函数中访问。