Java 从Resin迁移到Glassfish v3.0.1后,应用程序会定期挂起并在浏览器中显示空页面

Java 从Resin迁移到Glassfish v3.0.1后,应用程序会定期挂起并在浏览器中显示空页面,java,glassfish-3,Java,Glassfish 3,在将web应用程序从Resin迁移到GlassFish v3.0.1的过程中,我遇到了一个问题。 在回归测试期间(使用Selenium),它已经开始挂起。浏览器显示的是空页面,没有源代码,没有元代码,没有头,没有正文(Firefox和IE) 我认为这是硒的问题。但这个问题是手动重现的,IE8、Firefox4、Chrome6中也有。使用了不同的客户端机器,包括Windows和UBuntu 10.01(因此不包括防病毒影响) 在事故期间,我通过JMX使用jvisualvm制作了一些快照(线程甚至堆

在将web应用程序从Resin迁移到GlassFish v3.0.1的过程中,我遇到了一个问题。 在回归测试期间(使用Selenium),它已经开始挂起。浏览器显示的是空页面,没有源代码,没有元代码,没有头,没有正文(Firefox和IE)

我认为这是硒的问题。但这个问题是手动重现的,IE8、Firefox4、Chrome6中也有。使用了不同的客户端机器,包括Windows和UBuntu 10.01(因此不包括防病毒影响)

在事故期间,我通过JMX使用jvisualvm制作了一些快照(线程甚至堆)。 对线程的分析表明,服务器上有一个线程,服务器浏览器请求该线程,该线程的状态为“WAIT”。监视正在等待堆转储中不存在的对象实例#123456(在NetBeans中使用OQL进行查询)

还调查了数据库池(启用了精细日志记录,然后通过JMX监视器JDBC-pool-MON)。 Oracle 11g enterprise与DB一样使用。使用驱动程序11.2.0.1ga。JDK 1.6.0_21 x64服务器模式。 JDBC池的最大允许大小为:50 conn。 JDBC的最大监控大小为10(启动连接数量),使用连接的峰值仅为7。连接泄漏也被激活。回归试验超过2小时未检测到任何异常

HTTP线程池允许200个线程,其中峰值为181个活动线程,通常为114个demons线程

Grizly就像WEB服务一样使用静态文本缓存和gzip压缩。NIO是活动的,我已经尝试了tcp的java缓冲区和本机缓冲区

我的一些朋友告诉我不要直接使用Grizly,而是使用ApacheWeb服务器和mod_代理。 还没有尝试,但我只想使用GlassFishV3,不使用ApacheWeb服务器。我希望它能表现得更好

无论如何,我不知道这种奇怪行为的原因是什么。 任何想法都能帮上大忙

p、 s.:UnderResin应用程序在具有相同DB的相同JDK上运行良好,并且使用了驱动程序和相同的回归测试。即使在生产中,我们也没有这种问题

谢谢,
Max.

您能否构建一个简单的独立示例来展示这种行为?好的,谢谢大家。问题解决了。最初的原因尚不清楚,但它现在已经消失后,关闭服务器上的第二个网络接口安装了glassFish。此服务器有:IP为192.168.16.12的eht0和IP为192.168.17.1的eth1。HTTP侦听器绑定到0.0.0.0。(我尝试将其绑定到192.168.16.12,但它仍然挂起,因此我将其放回原处)。我认为这个问题不在本主题范围内,与GlassFish无关,但与Linux(Centos 5.5)的设置无关,在Linux(Centos 5.5)中,我在iptables中有一些端口路由规则。干得好,Max。作为一个友好的提醒,您能否自己发布一个问题的答案,然后接受该答案,以便我们结束这个问题?此外,如果前面的问题解决了您的问题,您需要接受这些问题的答案。