isClosed() funciona?

1 resposta
dreamspeaker

GUJ,

A interface Connection provê um método isClosed(), que testa se a conexão está fechada.

Bem, a pergunta é, vcs sabem se as implementações de drivers por aí (leia-se PostgreSQL) me garantem que, quando esse método retorna true, a conexão realmente está fechada, e ela foi liberada?

Pode acontecer do método informar que está fechada e para o banco de dados ela continua aberta? (Isso, claro, não contando as situações anormais, do tipo “tropeçaram no cabo” :slight_smile: ).

Valeu

1 Resposta

Luca

Olá

Uma conexão está fechada se o método close foi chamado ou algum erro fatal ocorreu. O método isClosed retorna true somente quando é chamado depois que o método Connection.close foi chamado.

Se o isClose retorna true então a conexão deve ser nula. É baseado nisto que fazemos pool de conexões. Veja http://www.postgresql.org/docs/7.4/static/jdbc-datasource.html#JDBC-DS-EXAMPLE

Uma verificação interessante para você pode ser seguir o debug junto com as ferramentas que lhe dizem que a conexão fica aberta depois da chamar o close().

[]s
Luca

Criado 28 de maio de 2004
Ultima resposta 28 de mai. de 2004
Respostas 1
Participantes 2