|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.context.JTASessionContext
public class JTASessionContext
An implementation of CurrentSessionContext
which scopes the notion
of a current session to a JTA transaction. Because JTA gives us a nice
tie-in to clean up after ourselves, this implementation will generate
Sessions as needed provided a JTA transaction is in effect. If a session
is not already associated with the current JTA transaction at the time
currentSession()
is called, a new session will be opened and it
will be associated with that JTA transaction.
auto-flush
and
auto-close
attributes set to
true, meaning that the Session will be automatically flushed and closed
as part of the lifecycle for the JTA transaction to which it is associated.
Additionally, it will also be configured to aggressively release JDBC
connections after each statement is executed. These settings are governed
by the isAutoFlushEnabled()
, isAutoCloseEnabled()
, and
getConnectionReleaseMode()
methods; these are provided (along with
the buildOrObtainSession()
method) for easier subclassing for custom
JTA-based session tracking logic (like maybe long-session semantics).
Nested Class Summary | |
---|---|
protected static class |
JTASessionContext.CleanupSynch
JTA transaction synch used for cleanup of the internal session map. |
Field Summary | |
---|---|
protected SessionFactoryImplementor |
factory
|
Constructor Summary | |
---|---|
JTASessionContext(SessionFactoryImplementor factory)
|
Method Summary | |
---|---|
protected Session |
buildOrObtainSession()
Strictly provided for subclassing purposes; specifically to allow long-session support. |
Session |
currentSession()
Retrieve the current session according to the scoping defined by this implementation. |
protected ConnectionReleaseMode |
getConnectionReleaseMode()
Mainly for subclass usage. |
protected boolean |
isAutoCloseEnabled()
Mainly for subclass usage. |
protected boolean |
isAutoFlushEnabled()
Mainly for subclass usage. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final SessionFactoryImplementor factory
Constructor Detail |
---|
public JTASessionContext(SessionFactoryImplementor factory)
Method Detail |
---|
public Session currentSession() throws HibernateException
CurrentSessionContext
currentSession
in interface CurrentSessionContext
HibernateException
- Typically indicates an issue
locating or creating the current session.protected Session buildOrObtainSession()
protected boolean isAutoCloseEnabled()
protected boolean isAutoFlushEnabled()
protected ConnectionReleaseMode getConnectionReleaseMode()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |