Hibernate-session.close () - nicht wieder Verbindung zum pool

Meine Bewerbung Transaktionen mit langer Laufzeit und daher habe ich versucht die option session.close() am Ende jeder Methode, um sicherzustellen, dass die connection-Objekte werden nicht auf unbestimmte Zeit festgehalten für lange Zeit.

Wenn die Sitzung.close () - option verwendet wird, konnte ich sehen, dass der Hibernate-session-Objekt und dem entsprechenden Connection-Objekt erhalten aus der Sitzung.Verbindung() zerstört werden, sind richtig. Aber das Problem mit dem connection-pool. Die Verbindung, die durch die Sitzung wird nicht veröffentlicht, Sie wieder an den Verbindungspool auch nach schließen der Sitzung. Andere Anfragen gefunden werden, warten für die Verbindung aus dem pool.

Ich bin mit JTA-Transaktion in meiner Anwendung. In hibernate.cfg.xml habe ich Verbindung.release_mode auf auto (default) und-Verbindung.autocommit auf "true".

Hat jemand konfrontiert dieses Problem? Bitte lassen Sie mich wissen, was vermisse ich hier.

Follow-up: Dies ist mein hibernate-Konfigurationsdatei details:

<property name="connection.datasource">MXoraDS</property> 
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> 
<property name="connection.release_mode">after_statement</property> 
<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WeblogicTransactionManagerLookup</property> 
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
<property name="hibernate.current_session_context_class">org.hibernate.context.JTASessionContext</property> 
<property name="transaction.auto_close_session">true</property> 
<property name="max_fetch_depth">2</property>

Verwenden wir JSF und EJB 2.1 auf der Anwendungs-Schicht, mit Anbindung an Oracle DB. Die after_statement scheint nicht zum lösen der Verbindung an den pool. Bitte lassen Sie mich wissen, wenn u brauchen mehr details.

InformationsquelleAutor der Frage Perfuser123 | 2010-10-13

Schreibe einen Kommentar