Devo sempre abrir e fechar a conexao com o BD em Java? [era: Conexão via JDBC]

Bom dia !

Sou novo em java e estou estudando como o java interage com um banco de dados via JDBC ( Uso o Firebird 1.5 pois já utilizo este banco com Delphi ) e me surgiu uma dúvida.
No delphi eu estabeleco uma conexão com o banco e mantenho ela aberta durante toda a execucao do sistema. Nos exemplos que vi do java, as conexões são sempre fechadas apos a execução de um statement ! É isto mesmo que tem que ser feito ?

Desde já agradeço a atenção dispensada.

Kebe

Cara você pode deixar a administração em um pool dessas conexões.
É meio complicado…eu mesmo estou com problemas cara.Coloquei em produção e as vezes preciso reiniciar o tomcat…

procurar saber direito sobre essa parte de conexão no java…

[]

Leandro

Deixar a conexao sempre aberta pode ser uma estrategia. Abrir e fechar pode ser outra. Utilizar um pool que gerencia isso pra voce, outra.

Acho que os exemplos mostram a conexao sendo aberta e logo fechada pois (1) isso eh o mais simples pra quem esta comecando, (2) os exemplos sao voltados pra Web, onde associar a conexao aberta do banco com um usuario eh loucura e (3) disciplina o desenvolvedor a ter responsabilidade para com recursos finitos (conexoes, threads, etc) - ja que em Java nao eh como em PHP que voce abre a conexao e pode sair pra passear. :slight_smile:

Dentre as opcoes disponiveis, veja o que teu projeto precisa. Um sistema “desktop”, com um banco dedicado, poderia trabalhar com uma conexao aberta o tempo todo, por exemplo. Mas isso sao excecoes, eu acho. Para a maioria dos casos um pool eh a melhor opcao - ele cuida dos detalhes pra voce (abrir, fechar, acompanhar se o numero de conexoes abertas eh adequado, etc). Exemplos: DBCP (do Jakarta), C3PO.

Ah, como de praxe: seja bem-vindo ao GUJ e procure sempre utilizar titulos descritivos para seus posts. Assim os leitores sabem do que se trata antes de entrar no post, alem de melhorar as futuras buscas no forum. :slight_smile:

Marcio Kuchma

1 curtida

Obrigado pela atenção senhores.
Vou dar uma estudada nas dicas que vc me deram.
trabalho com programação desde 1988 (clipper) e confesso que o java e todos os “acessórios” que o acompanham é um mundo novo pra mim.

Um abraço

No Livro: “The JDBC API Tutorial and Reference, Third Edition”,
diz que devemos sim abrir e fechar não só pela excelencia da conexão, mas também pela responsabilidade da mesma!

Sendo assim eu acredito, que o melhor a fazer seria esse esquema;
se puder, dê uma lida neste livro que por sinal é muito bom ou o melhor.