Exemplo

public class ClassA {

private Connection connection;

public void makeConnection (DataSource ds) {

try {
connection = ds.getConnection();
} catch(SQLException sqle) {
//desempenhar manipulação de exceção
}
//executar algo...

}
}



Solução
Para evitar fugas de recursos, certifique-se de que close() seja chamado em cada java.sql.Connection. Nota: Essa regra se aplica a Conexões recuperadas através de javax.sql.DataSource ou java.sql.DriverManager.


public class ClassA {

private Connection connection;

public void makeConnection (DataSource ds) {

try {
connection = ds.getConnection();
} catch(SQLException sqle) {
//desempenhar manipulação de exceção
}
//executar algo...

try {
connection.close();
} catch(SQLException sqle) {
//desempenhar manipulação de exceção
}
}
}