Dúvida DataSource + c3p0 + Hibernate

Estou com a seguinte dúvida:

Configurei um DataSource no Jboss

<?xml version='1.0'?>
<datasources>
  <local-tx-datasource>
    <jndi-name>jdbc/EmissaoGuia</jndi-name>
	<use-java-context>true</use-java-context>
        <connection-url>jdbc:oracle:thin:@192.168.20.24:1521:dbnor</connection-url>
	<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
	<user-name>++</user-name>
	<password>++</password>
	<min-pool-size>8</min-pool-size>
	<max-pool-size>32</max-pool-size>
	<blocking-timeout-millis>180000</blocking-timeout-millis>
	<idle-timeout-minutes>300</idle-timeout-minutes>
  </local-tx-datasource>
</datasources>

Configurei o hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

    <session-factory>

        <property name="hibernate.connection.datasource">java:/jdbc/EmissaoGuia</property>
        
        <property name="connection.pool_size">2</property> -->
        <property name="dialect">org.hibernate.dialect.OracleDialect</property>
        <property name="current_session_context_class">thread</property>
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        <property name="show_sql">true</property>

        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.max_size">20</property>
        <property name="hibernate.c3p0.timeout">1800</property>
        <property name="hibernate.c3p0.max_statements">50</property>

        <mapping resource="xx/guiaHonorarios/bean/PsgiPsiGuiIte.hbm.xml"/>
        <mapping resource="xx/guiaHonorarios/bean/PsguPsiGui.hbm.xml"/>
    </session-factory>

</hibernate-configuration>

E no meu HibernateUtil:


import org.apache.log4j.Logger;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

    private static Logger logger = Logger.getLogger(HibernateUtil.class);
    private static final SessionFactory sessionFactory = buildSessionFactory();
    private static SessionFactory buildSessionFactory() {
        try {
            return new Configuration().configure().buildSessionFactory();
        }catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            logger.error(ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

A aplicação funciona, porém depois de um certo tempo de uso não responde ao buscar as conexões e não gerou exceções…
Obs. Depois de usar a conexão, está sendo fechada a sessão do hibernate…

Alguém tem ideia do que pode estar errado?

Amigo, tente usar a seguinte propriedade no XML do Hibernate

<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>