Problemas com Hibernate + Postrgres em ambiente de produção

4 respostas
nettofarah

Boa noite, pessoal.

Desenvolvi uma aplicação utilizando postgres e Hibernate há um certo tempo.
Porém demorou para que a aplicação entrasse em produção.

Foi encontrado um erro que não consigo resolver. Já encontrei algumas pessoas com o problema parecido, mas ainda não encontrei resposta.

É o seguinte:

As requisições ao BD funcionam normalmente quando se inicia o tomcat, porém após certo tempo eu não consigo mais fazer queries no BD.
Somente quando eu reinicio o tomcat que as queries voltam a funcionar.

Retorna a seguinte excessao : Could not execute query. (essa é a message, não tenho o stack trace completo agora para mostrar).

Imaginei que fosse algo referente ao Pool de Conexões. Hoje fiz alguns testes com o C3PO que eu já utilizava. Adicionei um número maior de conexões e também diminui os “Periods” todos (idleperiods, etc).

Também garanti que todas as conexões estão sendo fechadas. (via código).
Até agora não tive nenhum resultado.

Se alguém tiver uma solução, por favor postar aqui.
Isto está dando bastante dor de cabeça.

Obrigado!

4 Respostas

G

Provavelmente o bug é do tomcat, não do pgsql nem hibernate.

Digo isso porque tenho uma aplicação em hibernate + pgsql rodando em glassfish e tudo funciona perfeito. Como a aplicação é muito grande são alocados 50 conexões para o glassfish.

Pior que eu já tive esse problema em uma app que usava tomcat + mysql. Depois de algum tempo o pool simplesmente morria e era lançado esse erro. Como logo migrei tudo para EJB e glassfish não me preocupei mais.

Tente levantar as informações do que causa o erro e cadastre um bug no tomcat ou no c3p0. Provavelmente o controle de conexões esteja com algum bug mesmo. Tente também atualizar o c3p0.

Abraços

nettofarah

Já modifiquei a versao do C3P0, e também não resolveu.

Vou tentar essa de mudar o application server. Tomara que funcione.

Valeu pela dica.

nettofarah

Resolvi o problema parcialmente.
Porém pra isso eu desabilitei o pool.

Alguém mais tem algum tipo de solução?

G

Não lembro como configura-se o c3p0, mas você pode configurar para testar a conexão antes de disponibilizar para a aplicação.

Abraços

Criado 1 de outubro de 2009
Ultima resposta 2 de out. de 2009
Respostas 4
Participantes 2