[英]GRIZZLY0023 Glassfish warning
我在GlassFish服務器上的java中部署了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
- > Network Config
- > Network Listeners
- > <your listener>
默認情況下, Request Timeout
字段設置為900
(15分鍾),只需增加此值即可。 不幸的是,你不能將它設置為-1
,因為Glassfish 3.1.2沒有限制。
您也可以使用asadmin
工具進行設置,如下所示:
asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.request-timeout-seconds=x
服務器空閑時會發生這種情況。 當服務器空閑一段時間后,它就開始生成
GRIZZLY0023:中斷空閑線程:
日志文件中的警告,我們必須重新啟動服務器。 我們在Glassfish 3.1.2.2 build 5中觀察到了這一點。我們從未在舊的Glassfish中觀察到這一點。
這表明GF 3.1.2.2版本中存在一些錯誤。
我不認為我會建議完全禁用線程的中斷。 實際上,這個錯誤可能是由於Glassfish 3.1.2.2中的一個錯誤導致線程沒有正確中斷。 這可以通過相同thread-id的多個中斷日志來看出。 通過在Glassfish的類路徑上放置修補版本的grizzly-http.jar
來修復該錯誤。
有關更多信息,請參閱https://www3.wipo.int/confluence/display/wipoimd/3.3.2.1.-+GlassFish+3.1.2.2+%28build+5%29+patches
您需要在Glassfish管理員中增加或禁用請求超時 :
server-config -> Network Config -> Network Listeners -> <LISTENER> -> HTTP
值為-1將禁用它。
測試:GlassFish Server開源版3.1.2.2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.