Galera tenho a seguinte duvida:
O porque de quando estamos desenvolvendo para ambiente Web a cada solicitação ao Banco de Dados, seja ela um select, insert, etc… , porque cada solicitação dessas temos que abrir e fechar a conexão???
Exemplo:
classe Portugol{
abre conexão;
select * from alguma coisa;
fecha conexão;
}
Sei que podemos fazer um pool de conexão, sendo iniciante eu ainda não descobri o porque de ter que fazer isso.
Valeu.
Boa noite amigo,
O problema de vc não fechar a conexão com o banco é que a cada solicitação que vc faz a ele fica em aberto podendo assim sobrecarregar o servidor do banco e ocasionar problemas sérios como:
Queda do sistema operacional.
Queda do próprio servidor de banco.
enfim…não é uma boa prática de programação.
O correto é sempre abrir uma conexão usar e fechar.
Aqui no GUJ tem alguns tutoriais que podem te ajudar a iniciar…
http://www.guj.com.br/java.tutorial.artigo.7.1.guj
Espero ter respondido sua pergunta.
Abraço.
[quote=davisnog]Galera tenho a seguinte duvida:
O porque de quando estamos desenvolvendo para ambiente Web a cada solicitação ao Banco de Dados, seja ela um select, insert, etc… , porque cada solicitação dessas temos que abrir e fechar a conexão???
Exemplo:
classe Portugol{
abre conexão;
select * from alguma coisa;
fecha conexão;
}
Sei que podemos fazer um pool de conexão, sendo iniciante eu ainda não descobri o porque de ter que fazer isso.
Valeu.
[/quote]
procura sobre pool de conexoes no tomcat, vai te ajudar um pouco, da trabalho mais compensa.
falow
Pool’s são úteis por que mantém a conexão aberta permitindo reuso. Estas conexões abertas, controladas é claro, melhoram o desempenho, pois o tempo de abertura da conexão é alto, e a abertura e fechamento de várias conexões no caso de múltiplos acessos a base de dados pode tornar-se um gargalo na sua aplicação. Sugiro que siga as dicas dos colegas e use o Pool do tomcat que pode ser configurado no context de sua aplicação.
Pois eh ricardo.cocati eu ja tinha visto esse tutorial, mais de qualquer forma valeu, a minha duvida era essa mesmo que vc respondeu…
yoshikichi, MC_Coelho valeu pela dica…
conversando com um amigo meu ele sugeriu que eu criasse uma variavel de seção para manter a conexão com o banco, assim que expirasse a seção ou mesmo o cliente fechasse o browser consequentemente fecharia a conexão com o banco. O que vcs acham dessa pratica???
Se vc usar um framework de persistencia a seus dados, vc pode utilizar sempre uma conexao aberta, que esta aguardando alguem para usa-la. Leia um pouco sobre C3PO(pool de conexoes) e Hibernate(framework de persistencia) por exemplo.
s[],
valeu galera pela forção… ja ajudou a esclarecer a duvida
vlw