Loại vấn đề này phát sinh khi bạn KHÔNG đóng kết nối đúng cách sau khi sử dụng.
Lưu ý:Nếu JVM thoát ra trong khi mã thử hoặc bắt đang được thực thi, thì khối cuối cùng có thể không thực thi. Tương tự như vậy, nếu chuỗi thực thi mã try hoặc catch bị gián đoạn hoặc bị giết, khối cuối cùng có thể không thực thi mặc dù toàn bộ ứng dụng vẫn tiếp tục.
Như bạn đã hỏi trong nhận xét, tôi đã thêm mẫu mã để chứng minh thực tế!
Connection con = null
try{
//Establishing connection to datasource
con = DBConnection.getConnection();
//perform DB operations
...
...
...
}catch(SQLException sqlEx){
/*To catch any SQLException thrown during DB
*Operations and continue processing like sending alert to admin
*that exception occurred.
*/
}finally{
/*This block should be added to your code
* You need to release the resources like connections
*/
if(con!=null)
con.close();
}
Xin lưu ý rằng khai báo của Connection
biến phải ở trong phạm vi thích hợp để đóng nó trong finally
khối.
Hy vọng điều này sẽ hữu ích!