4

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

当我部署具有 Spring Web 调度程序和 Stripes 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 上的相同配置可以正常工作

4

2 回答 2

5

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

<virtual-server id="admin-server" network-listeners="http-listener-2"></virtual-server>
于 2013-08-08T12:44:11.530 回答
2

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

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

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

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

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

于 2013-08-08T10:01:56.137 回答