Problemas Hibernate + C3P0

Galera, estou com um grande problema.

Eu tenho uma aplicação servidor, implementada com o Apache Mina + Hibernate, onde recebe muitas conexoes simultaneas.

Eu estou com o seguinte problema acotnecendo dentro dos processos quando as solicitacoes simultaneas almentam:

com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@4a5afcb1 – timeout at awaitAvailable()

A quantidade de conexoes que o banco aguenta está ok.

Na aplicacao tem outra particularidade, eu trabalho com varias session factory registradas, uma para cada schema, pois em vez de trabalhar com multi bases, eu trabalho com multi schemas, cada um contendo as memas estruturas de tabelas, sendo um pra cada empresa(cliente).

Esse erro poderia ser pelo o que exatamente? Quais seriam as posibilidades de isso ta ocorrendo??

Outra coisa, para cada session do hibernate é recuperada um Connection da base correto? Se eu dou um close nessa sessao, essa conexao retorna para o poll para ser reutilizada, certo?? Eu tenho observado que a quantidade de conexoes criadas ta alta, deproporcional ao numero de solicitacoes simultaneas, onde seria basicamente uma sessao por solicitacao. Aguardo qualquer opniao. Abraços

oi mizael!

acho que compensa ligar o log do c3p0. ertamente esta havendo um vazamento de conexoes. suas requisicoes nao estao entrando em loop infiito ou esperando eternamente por algo? a cada request, quantas conexoes sao abertas?

Eae paulo, obrigado pela resposta.

Bom eu nao fiz um levantamento exato de quantas abre por transação. Eu ja dei uma olhada no log do c3p0, o log eh um pouco confuso, mais nao me parece muito anormal nao. Loop infinito não está, certeza. As transacoes as vezes demoram, uns 40 segundos, mais saem. Eu sinceridade nao entendo. Você sabe dizer se existe algum problema em registrar varias factors do hibernate na mesma vm?? Os pool do c3p0 fica por factory??

Eu fiz uns testes sem o pool de conexao, e melhorou bastante a quantidade de conexoes criadas. C3p0 e o hibernate funcionam bem?? Ele realmente devolve com eficiencia as conexoes pro pool? Engraçado que em testes sem stress nao ocorre nada anormal, so acorre com muito stress na aplicação.

Te mandei uma mensagem privada, da uma olhada.