Den här typen av problem uppstår när du är INTE stäng anslutningen ordentligt efter användning.
Obs:Om JVM avslutas medan try- eller catch-koden exekveras, kan det hända att finalblocket inte exekveras. På samma sätt, om tråden som kör try or catch-koden avbryts eller dödas, kanske finalblocket inte körs även om programmet som helhet fortsätter.
Som du har frågat i kommentaren har jag lagt till kodexemplet för att demonstrera praktiskt!
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();
}
Observera att deklarationen om Connection
variabeln bör vara i rätt omfattning för att stänga den i finally
blockera.
Hoppas detta hjälper!