我使用Jersey 1.4,ApacheHttpClient
和Apache MultiThreadedHttpConnectionManager
類來管理連接。對於HttpConnectionManager
,我將staleCheckingEnabled設置爲true,將maxConnectionsPerHost設置爲1000,將maxTotalConnections設置爲1000.其他設置均爲默認設置。我們在Tomcat中運行,並使用Jersey客戶端連接到多個外部主機。來自Jersey Client的CLOSE_WAIT中的套接字
我注意到,經過一段時間後,我將開始看到與Tomcat進程關聯的CLOSE_WAIT狀態的套接字。使用tcpdump進行一些監控顯示,外部主機似乎在一段時間後關閉了連接,但在我們的結尾沒有關閉。通常在套接字讀取隊列中有一些數據,通常是24個字節。連接使用https和數據似乎被加密,所以我不知道它是什麼。
我已檢查以確保已創建的ClientRequest對象已關閉。 CLOSE_WAIT中的套接字看起來似乎已經被回收,至少在這個時候我們沒有用完任何資源。我不確定外部服務器上發生了什麼。
我的問題是,這是正常的,我應該擔心嗎?
謝謝,
約翰
我可以看到一些代碼嗎?我剛剛聽說過這個,並希望看到你如何配置MultiThreadedHttpConnectionManager到澤西... – markthegrea 2013-10-29 16:00:45