您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關線程太多導致java socket連接池出現怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
這篇文章主要介紹了如何解決線程太多導致socket連接池出現的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
線程太多導致socket連接池爆滿,進程啟動不了
問題:
某部機上跟其它機器的連接有問題,ping可以通,telnet端口不通,可以其它機器可以連接到該機器上的進程。
java應用啟動不起來,產生以下錯誤。
java.net.SocketException: No buffer space available (maximum connections reached?): listen failed at java.net.PlainSocketImpl.socketListen(Native Method) at java.net.PlainSocketImpl.listen(Unknown Source) at java.net.ServerSocket.bind(Unknown Source) at java.net.ServerSocket.<init>(Unknown Source) at java.net.ServerSocket.<init>(Unknown Source)
查找問題:
打開任務管理器,發現某個進程產生了上千的大量的線程。
解決方法:
殺死該進程后,java應用可以成功啟動。
icmp協議是IP層的附屬協議,不會用TCP連接,所以正常。而telnet則是HTTP請求報文,會使用TCP連接。
關于“線程太多導致java socket連接池出現怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。