O tópico em si é bem explicativo…
Eu quero saber se um objeto (Connection) está sendo referenciado ainda por alguma outra variável de referência
Como descubro?
Acho que tem o como porque o JBoss consegue fechar as Connections que ficam abertas…
Alguém sabe?
public class ConexaoDB {
private static ConexaoDB myInstance = null;
private Connection conn = null;
private String user;
private String password;
private String db;
private String port;
private static String IP;
private ConexaoDB() {
try {
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:" + user + "/" + password + "@" + IP + ":" + port + ":" + db);
} catch (SQLException sqle) {
sqle.printStackTrace();
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
} // try
}
public synchronized static ConexaoDB getInstance() {
if (conn == null) {
conn = new ConexaoDB();
}
return conn;
}
//Demais getters
}
O metodo getInstance verifica se o Objeto ja foi instanciado.
Espero que te ajude!
Valeu pela ajuda, mas não serve pra mim
tipo… eu tenho um DAO que abre uma Connection…
Se eu não der o close na Connection ela vai ficar lá parada na memória causando memory leak…
Eu queria uma maneira que me dissesse se aquela Connection ainda está sendo usada por algum outro objeto, senão tivesse, eu forçava o close dela…