Estou com problemas com conexões que ficam abertas no PostgreSQL utilizando o hibernate!
Em todos os meus DAOs, estou fechando a conexão, até mesmo em consultas. Senti que tive uma perda consideral no desempenho, não sei se foi uma boa pratica!
Bom, mesmo fechando o session em qualquer operação com o banco, as conexões são mantidas abertas!
mas não é só isso, deve ser agum problema nessas setProperty
0 c3p0 tem particularides de configurações para ambientes não produtivos
de configuração que eu tenho para ambiente web eu não uso c3p0 pq eu configuro no proprio glassfish um pool de conexão que ele mesmo gerencia dai eu só passar o pool para o hibernate
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect");
configuration.setProperty("hibernate.connection.datasource", "Homologacao");//Pool no GV - vc vai ter que ver um outro pool para ambiente desktop
configuration.setProperty("hibernate.order_updates", "true");
configuration.setProperty("hibernate.cache.provider_class", "org.hibernate.cache.NoCacheProvider");
configuration.setProperty("hibernate.show_sql", "false");
configuration.setProperty("hibernate.format_sql", "true");
configuration.setProperty("hibernate.current_session_context_class", "thread");
Fiz uns ajustes nas configurações do C3P0, e mudei o gerenciamento das sessoes com o ThreadLocal conforme vc falou …
Pelos testes que fiz, esta dando certo, ele aguardo o tempo que estipulei nas configurações e fecha a conexão!
Obrigado pela Ajuda.
Abraço.[/quote]
Olá jlunge, boa noite.
Estou passando por dificuldades parecidas, mas estou em dúvida quanto à “quem realmente deve gerenciar o pool de conexão”.
Minha aplicação utiliza hibernate, banco PostgreSQL e Tomcat 6.
Pra você ter idéia, a configuração hibernate.c3p0.timeout não funciona. Eu consigo definir a configuração de timeout da sessão através do web.xml do Tomcat.
Estou tendo problemas de limites de conexão, mesmo com o postgres estando configurado para 100 conexoes simultaneas (padrao).
Pelo que li, o hibernate deveria gerenciar estas conexoes inativas e fecha-las, mas isso não está acontecendo.