我在GlassFish服务器上部署了2个Web应用程序.我使用的是Glassfish Server 3.1.2.2.他们都有从他们接收http请求的
java servlet页面,代码是相同的,只有不同的参数(对于不同的客户端).第一个工作很好,另一个进程的http请求很长.之后我注意到下一件事情:
我在Netbeans的Glassfish输出中不断得到这个警告.
WARNING: GRIZZLY0023: Interrupting idle Thread: http-thread-pool-9990
任何人都可以解释为什么我得到这个警告,以及如何解决它.
解决方法
如果HTTP请求超时,则会发生此警告. Glassfish默认超时时间为15分钟.
这可能发生在不同的情况下,例如当请求调用长时间运行的操作,在超时期间不返回任何响应,如果通过HTTPS进行了对您的服务器的请求,并且它仅支持HTTP(或反之亦然),或者没有更多连接可用在HTTP连接池中.
您的案例中的具体原因只能被猜测,但一般来说,此问题的一个解决方案是增加默认的HTTP请求超时.您可以在Glassfish Admin GUI(http:// localhost:4848)中设置此值:
server-config – >网络配置 – >网络侦听器 – > <你的听众>
默认情况下,请求超时字段设置为900(15分钟),只需增加此值.不幸的是,由于Glassfish 3.1.2,您无法将其设置为-1.
您也可以使用asadmin工具进行设置:
asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.request-timeout-seconds=x