我有一個問題,我的應用程序隨時運行幾乎像300-400線程。所以有一些問題,我連接到mysql數據庫,拋出異常在任何時候,「數據源拒絕建立連接,來自服務器的消息:」太多連接「?」。
我檢查並確保以正確的方式關閉所有連接,我已連接到分貝。
對於處理這種方法我寫了一個方法,但我不知道這是否是正確的方法來做到這一點。此方法已用於所有線程以獲取數據庫連接。 我應該改變方法或我要補充同步到這一點,我不知道該怎麼辦有關此異常
數據源拒絕建立連接,來自服務器的消息:「連接太多」? - 多線程
public static Connection getDatabaseConnection(){
try{
return (Connection)DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306xxx?useUnicode=true"
+ "&characterEncoding=utf-8", "root", "xxx");
}catch(SQLException ex){
Util.sleep(new Random().nextInt(1000));// Equals = Thread.sleep(...);
return getDatabaseConnection();
}
}
您應該使用連接池。無論如何,這個錯誤來自您的數據庫,因此請檢查您的MySQL配置。 –
您也可能在某處泄漏連接。檢查每個連接是否在'finally'塊或try-with-resources語句中關閉。 – EJP