Estou usando o seguinte código abaixo para fazer um pool de conexões, no momento estou abrindo com o método open() e fechando com o método closeAll() cada vez que uso o BD, é correto isso ou devo deixar open como static ou ainda verificar se o conn esta aberto para não abrir novamente? Como se comportaria o open deixtando como static?
public void open() throws Exceptions {
try {
Context ctx = new InitialContext();
if (ctx == null) throw new NamingException("No initial context");
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");
if (ds == null) throw new NamingException("No data source");
conn = ds.getConnection();
if (conn == null) throw new SQLException("No connection");
} catch (Exception erroOpenBD) {
System.out.println("Erro ao conectar do BD");
}
}
public void closeConn() {
try {
if (conn == null) return;
conn.close();
conn = null;
} catch (Exception erroCloseConn) {
System.out.println("Erro ao fechar conn");
}
}
public void closeResult() {
try {
if (rs == null) return;
rs.close();
rs = null;
} catch (Exception erroCloseResult) {
System.out.println("Erro ao fechar rs");
}
}
public void closePassQuery() {
try {
if (psmt == null) return;
psmt.close();
psmt = null;
} catch (Exception erroResult) {
System.out.println("Erro ao fechar psmt");
}
}
public void closeAll() {
try {
closePassQuery();
closeResult();
closeConn();
} catch (Exception erroCloseBD) {
System.out.println("Erro ao fechar Bando de Dados");
}
}
Obrigado