Várias conexões abertas sem necessidade usando o Hibernate

2 respostas
F

Bom dia pessoal,
tenho uma aplicação web que utilizo Hibernate e JSF,
porém agora estou acessando o banco utilizando o Mysql Workbench e vi na parte de server status, na parte connection usage: tem 14 conexões em aberto, sendo que estou acessando o banco localmente na minha máquina, deveria haver no máximo 2 conexões, uma da minha aplicação e outra do Mysql workbench.

Tem alguma coisa errada com o meu arquivo hibernate.properties

hibernate.generate_statistics=true hibernate.use_sql_comments=true hibernate.c3p0.acquire_increment=4 hibernate.c3p0.idle_test_period=300 hibernate.c3p0.min_size=1 hibernate.c3p0.max_size=25 hibernate.c3p0.timeout=300 hibernate.c3p0.max_statements=50 hibernate.jdbc.batch_size=20 hibernate.current_session_context_class=thread hibernate.connection.pool_size=20 hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider Pois esse arquivo eu copiei, sem fazer muita idéia do que estava fazendo

Outra coisa, quando passo um tempo sem mexer no sistema, ele gera o seguinte erro:

Exception in thread "Timer-0" java.lang.NullPointerException at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:255) at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:1934) E é depois deste erro que o número de conexões aumenta

E este erro continua aparecendo a medida que vou usando e deixando o sistema parado

Exception in thread "Timer-1" java.lang.NullPointerException . . Exception in thread "Timer-5" java.lang.NullPointerException Como corrigir isso?

2 Respostas

J

Não vi o seu código java, porém toda vez que você abre uma conexão com o banco, voce deve fechá-la.
Por exemplo no hibernate é session.close, se você não fizer isso ela vai ficar aberta o tempo que você determinou no seu arquivo de configuração do hibernate!

F

Eu sempre fecho as conexões do banco utilizando o session.close(), por isso acho q o problema é o pool de conexões do C3P0, tanto que enquanto eu utilizava o pool de conexões do próprio hibernate, eu não tinha esse erro abaixo

Depois de colocar o C3P0 como pool de conexões foi que este erro apareceu.
Mas quando usava o pool de conexões do hibernate eu nunca tinha reparado se as conexões aumentavam da maneira que aumentam agora.

Criado 30 de novembro de 2011
Ultima resposta 30 de nov. de 2011
Respostas 2
Participantes 2