Glassfish 3.1.2.2启动我的Web应用程序两次

时间:2012-07-25 15:34:41

标签: java spring glassfish stripes

我有一个在OpenIndiana 151.a3上运行的Glassfish 3.1.2.2(build 5)的奇怪行为 使用oracle jdk 1.7.0_5。

当我部署具有spring web dispatcher和stripe servlet的web应用程序时 我让它们连续两次初始化,例如。

 PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext|#]

 INFO  StripesFilter                  - Stripes Initialization Complete. Version: 1.5.6, Build: 1.5.6

 PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext|#]

 INFO  StripesFilter                  - Stripes Initialization Complete. Version: 1.5.6, 
Build: 1.5.6

 WEB0671: Loading application [my-web] at [/my-web]|#]

如果不是因为我从spring初始化的blazeds servlet在第二次初始化时完全失败,那不会是一个很大的问题。我尝试禁用blazeds servlet,但这并不能解决双初始化问题,因为我仍然在日志中获得两次初始化消息。如果没有blazeds我的应用程序将无法工作,所以我在这里捏。

更新:我已经确认它只发生在OpenIndiana主机上,linux上的相同配置没有问题

2 个答案:

答案 0 :(得分:4)

我们遇到了类似的问题。我们还尝试部署到特定的虚拟服务器,但无效。为了解决这个问题,我最终不得不从domain.xml中手动删除额外的虚拟服务器:

<virtual-server id="admin-server" network-listeners="http-listener-2"></virtual-server>

答案 1 :(得分:1)

如果您有多个虚拟服务器:

“如果部署Web应用程序但未指定任何已分配的虚拟服务器,则会将Web应用程序分配给所有当前定义的虚拟服务器”

http://docs.oracle.com/cd/E18930_01/html/821-2416/ggncs.html

但这并没有解决我们的问题。

我们必须删除额外的虚拟服务器才能工作。这也发生在3.1.2上,它不仅仅是一个Windows问题。我们也在Linux上复制了这个问题。