Fechar conexao qndo o aplicativo eh fechado

8 respostas
shaggy

O aplicativo abre uma conexao com o banco e a mantem.
quando o programa for fechado, queria fechar a conexao.
como faço?

[]´s

8 Respostas

mister_m

Esse seu aplicativo é usado por somente dois usuários ou uma centena deles? Senão, a abordagem como um todo deveria ser modificada…

shaggy

nao… eh soh um mesmo
eh uma aplicação local

Luca

Olá

Você abre a conexão (ou pega do pool) em um try catch? Então feche no finally!

[]s
Luca

mister_m

shaggy:
nao… eh soh um mesmo
eh uma aplicação local

Se for só um usuário da aplicação, utilize os shutdown hooks da JVM pra isso.

Só pra confirmar, só existe um usuário da aplicação, né?

shaggy

mister__m:
shaggy:
nao… eh soh um mesmo
eh uma aplicação local

Se for só um usuário da aplicação, utilize os shutdown hooks da JVM pra isso.

Só pra confirmar, só existe um usuário da aplicação, né?

sim, eh soh um.
como uso esses shutdown?

shaggy

Bco bc=new Bco(); bc.conectar(); Apresentacao init= new Apresentacao(); init.setConn(bc.getConn());
dps da apresentacao ser fechada queria fechar a conexao

mister_m

shaggy:
Bco bc=new Bco(); bc.conectar(); Apresentacao init= new Apresentacao(); init.setConn(bc.getConn());
dps da apresentacao ser fechada queria fechar a conexao

Precisa fazer algo como (código não testado):

final Bco bc=new Bco();
bc.conectar();

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        try {
             bc.getConn().close();
        } catch (SQLException sqle) {
             sqle.printStackTrace();
        }
    }
});

Note que ainda é sua responsabilidade fechar todos os statements e result sets tão logo eles não sejam mais necessários.

shaggy

joia… valeu + uma vez!!!

Criado 13 de abril de 2005
Ultima resposta 13 de abr. de 2005
Respostas 8
Participantes 3