簡體   English   中英

與主機的TCP / IP連接失敗。 java.net.BindException:已在使用的地址:connect Driver

[英]The TCP/IP connection to the host has failed. java.net.BindException: Address already in use: connect Driver

我們長期部署了一個應用程序。 它到目前為止工作正常。 突然,當應用程序嘗試連接數據庫時,我們今天收到以下錯誤。 它正在發生和開啟。 有時候可以連接。 最經常低於錯誤。原因是什么。 請建議我。 提前致謝。

錯誤:-

com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host  has failed. java.net.BindException: Address already in use: connect
Driver name=com.microsoft.sqlserver.jdbc.SQLServerDriver
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host  has failed. java.net.BindException: Address already in use: connect

你已經用完了本地端口。 你有一個連接泄漏,或者你沒有使用連接池,你應該。 檢查netstat -anp TCP 您將在ESTABLISHED狀態下看到數以萬億計的連接到同一目標,即MS SQL Server。

已經使用的地址意味着本地端沒有足夠的端口可用於創建連接。 如果檢查網絡統計數據,您會看到很多條目。 假設它是windows,對於獲取列表的確切方式,請檢查平台文檔。 要了解該問題,您還可以閱讀:
http://khanna111.com/articles/TCPAAIU.html

請注意,該頁面上的前兩位數字是混亂的。 還有TIME_WAIT階段的解釋。

原因是,如果您只有一個應用程序正在運行jdbc,則可能的原因可能是正在創建與數據庫服務器的TCP連接,並且未關閉或創建和關閉連接的速率大於導致這個問題。 如果您還沒有連接池,則需要在任何情況下調查連接池。 如果同一主機上有其他應用程序處理網絡流量,那么您還需要查看這些應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM