Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problema de conexão MySQL Hibernate ao usar c3p0


testWhileIdle não é uma propriedade c3p0. Não dói nada, mas pode confundi-lo e levá-lo a pensar que está fazendo algo que não está. Você está testando conexões ociosas, provavelmente com muita frequência, pois também está testando conexões no checkout.

Sua configuração está espalhada em dois lugares. Não tenho certeza de como as configurações Spring e hibernate irão interagir. c3p0 DataSources dump config em INFO na inicialização do pool. Você pode querer verificar se tem a configuração que espera.

Re seu problema, parece muito que você tem um vazamento de conexão. Você deve garantir que qualquer conexão com check-out de um DataSource seja confiavelmente fechada () em um método finally ou por meio de try-with-resources no Java 7+.

Use parâmetros de configuração c3p0 unreturnedConnectionTimeout e debugUnreturnedConnectionStackTraces para depurar um vazamento de conexão.

Veja aqui .

(Observação:em hibernate.cfg eles seriam hibernate.c3p0.unreturnedConnectionTimeout e hibernate.c3p0.debugUnreturnedConnectionStackTraces . Ou você pode defini-los mais diretamente em seu Spring xml.)