org.hibernate.context.internal
Class ManagedSessionContext

java.lang.Object
  extended by org.hibernate.context.spi.AbstractCurrentSessionContext
      extended by org.hibernate.context.internal.ManagedSessionContext
All Implemented Interfaces:
Serializable, CurrentSessionContext

public class ManagedSessionContext
extends AbstractCurrentSessionContext

Represents a CurrentSessionContext the notion of a contextual session is managed by some external entity (generally some form of interceptor, etc). This external manager is responsible for scoping these contextual sessions appropriately binding/unbinding them here for exposure to the application through SessionFactory.getCurrentSession() calls.

Basically exposes two interfaces.

The underlying storage of the current sessions here is a static ThreadLocal-based map where the sessions are keyed by the the owning session factory.

See Also:
Serialized Form

Constructor Summary
ManagedSessionContext(SessionFactoryImplementor factory)
           
 
Method Summary
static Session bind(Session session)
          Binds the given session to the current context for its session factory.
 Session currentSession()
          Retrieve the current session according to the scoping defined by this implementation.
static boolean hasBind(SessionFactory factory)
          Check to see if there is already a session associated with the current thread for the given session factory.
protected static Map<SessionFactory,Session> sessionMap()
           
static Session unbind(SessionFactory factory)
          Unbinds the session (if one) current associated with the context for the given session.
 
Methods inherited from class org.hibernate.context.spi.AbstractCurrentSessionContext
baseSessionBuilder, factory, validateExistingSession
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ManagedSessionContext

public ManagedSessionContext(SessionFactoryImplementor factory)
Method Detail

currentSession

public Session currentSession()
Description copied from interface: CurrentSessionContext
Retrieve the current session according to the scoping defined by this implementation.

Returns:
The current session.

hasBind

public static boolean hasBind(SessionFactory factory)
Check to see if there is already a session associated with the current thread for the given session factory.

Parameters:
factory - The factory against which to check for a given session within the current thread.
Returns:
True if there is currently a session bound.

bind

public static Session bind(Session session)
Binds the given session to the current context for its session factory.

Parameters:
session - The session to be bound.
Returns:
Any previously bound session (should be null in most cases).

unbind

public static Session unbind(SessionFactory factory)
Unbinds the session (if one) current associated with the context for the given session.

Parameters:
factory - The factory for which to unbind the current session.
Returns:
The bound session if one, else null.

sessionMap

protected static Map<SessionFactory,Session> sessionMap()


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.