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 ?
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…
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.
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.
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.
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.