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?