Есть ли ситуации, когда hibernate не может закрыть открытое соединение ???
Я занимаюсь разработкой JSF 2.0 приложения с использованием Hibernate 3.2.5 и Oracle 10g express . После фиксированного количества транзакций hibernate может не подключаться к базе данных больше, и даже я не могу подключиться с помощью sqlDeveloper . Как я уже проверял, количество транзакций до этого сбоя практически равно числу процессов в init.ora .
Я всегда работаю со сессиями в спящем режиме, как это:
try {
session.beginTransaction();
...
} catch (Exception ex) {
Transaction tx = session.getTransaction();
if (tx.isActive()) {
tx.rollback();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, ex.getMessage(), ex.getMessage()));
}
} finally {
session.close();
}
Моя конфигурация гибернации
<?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.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
<property name="hibernate.connection.username">CUSTOMS_G2G</property>
<property name="hibernate.connection.password">123456</property>
<mapping resource="ir/khorasancustoms/g2g/persistance/UserGroup.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/User.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/CatalogGroup.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/CatalogValue.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/gates/Receipt.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/gates/Price.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/gates/Promise.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/gates/Exit.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/gates/Weight.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/gates/Fee.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/Page.hbm.xml"/>
<mapping resource="ir/khorasancustoms/g2g/persistance/Permission.hbm.xml"/>
</session-factory>
</hibernate-configuration>