Esempio

public class ClassA {

private Connection connection;

public void makeConnection (DataSource ds) {

try {
connection = ds.getConnection();
} catch(SQLException sqle) {
//perform exception handling
}
//do something...

}
}



Soluzione
Per evitare perdite di risorse, verificare che close() venga richiamato su ogni java.sql.Connection. Nota: questa regola si applica alle connessioni richiamate mediante javax.sql.DataSource o java.sql.DriverManager.


public class ClassA {

private Connection connection;

public void makeConnection (DataSource ds) {

try {
connection = ds.getConnection();
} catch(SQLException sqle) {
//perform exception handling
}
//do something...

try {
connection.close();
} catch(SQLException sqle) {
//perform exception handling
}
}
}