Example

public class ClassA {

private Connection connection;

public void makeConnection (DataSource ds) {

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

}
}



Solution
To avoid resource leaks, ensure that close() is invoked on every java.sql.Connection. Note: This rule applies to Connections retrieved through a javax.sql.DataSource or a 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
}
}
}