ServletContextListener为glassfish上的一个虚拟主机调用了两次

时间:2017-10-15 14:39:08

标签: glassfish servletcontextlistener

我有一种情况,即ServileContextListener方法contextInitialized被调用两次,即使我在服务器上只定义了一个虚拟主机...我使用Glassfish服务器。

1 个答案:

答案 0 :(得分:0)

这是我最近在glassfish中遇到的相同问题,即使我在glassfish服务器上定义了一个虚拟主机,我的ServletContextListener也被调用了两次
到目前为止,我发现了发生这种情况的三个原因,它们如下:

  1. 如果我们同时为servletweb.xml配置servlet annotation
  2. 如果我们在应用程序服务器上有多个虚拟主机(由于只有一个虚拟主机,因此此问题无效)
  3. 如果应用程序已经部署在glassfish服务器上,并且在您运行servlet时,则应用程序服务器启动已经存在的servlet,然后重新部署我们要求其运行的servlet。原来监听器被调用了两次


现在,如果我们启动未安装任何应用程序的glassfish服务器,然后运行servlet,则该方法仅被调用一次。


希望对您有帮助