Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Ex. 4 do Capítulo 5 - Connection Pool e Datasources

No último exercício, é recomendado que para solucionar o problema de muitos acessos em horários de pico que se utilize uma configuração que permita o acesso até 100 conexões e, posteriormente, o sistema se configure para deixar livre pelo menos 10 conexões abertas. Como é feito essa configuração no Pool?

4 respostas
solução!

Oi Luis Fernando,

você pode usar uma biblioteca como o C3P0 para isso: http://www.mchange.com/projects/c3p0/#quickstart

Ou, alternativamente, você pode fazer seu próprio pool. Precisaríamos fazer um filtro (ou algo similar) que crie uma fila de conexões e gerencia quais estão em uso e quais estão ociosas. Quando uma requisição chegar, você pega uma das conexões livres e passa para ela. Quando ela terminar, a conexão deve ser marcada como livre novamente.

É um exerciciozinho interessante para praticar! Mas, em produção, vale mais a pena estudar como usar o C3P0 mesmo. ;-)

Obrigado, Cecilia, pela resposta. Vou tentar seguir sua dica e criar um próprio Pool, para tentar entender o raciocínio e em seguida vou estudar um pouco mais a fundo o c3p0.

Maravilha! Se surgir outra dúvida nesse caminho, avise aqui no fórum!

Cecilia Fernandes

Os ORMs como o Hibernate já lidam com isso de forma automática? Ainda não estudei o Hibernate a fundo, apenas li a respeito. Precisaremos de implementações assim para verificar a quantidade de requisições que estarão sendo feitas para o banco de dados?