EclipseLink 1.0_1.0M2 API Reference - Incubation

org.eclipse.persistence.sessions.factories
Class SessionManager

java.lang.Object
  extended by org.eclipse.persistence.sessions.factories.SessionManager

public class SessionManager
extends java.lang.Object

Purpose: Global session location.

Description: This allows for a global session local which can be accessed globally from other classes. This is needed for EJB data stores as they must have a globally accessible place to access the session. This can be by EJB session beans, BMP beans and CMP beans as well as Servlets and other three-tier services.

Responsibilities:

Author:
James Sutherland
Since:
TOPLink/Java 3.0

Field Summary
protected  AbstractSession defaultSession
           
protected static SessionManager manager
           
protected  java.util.Map sessions
           
protected static boolean shouldPerformDTDValidation
           
protected static boolean shouldUseSchemaValidation
          Allow for usage of schema validation to be configurable.
 
Constructor Summary
SessionManager()
          PUBLIC: The default constructor to create a new session manager.
 
Method Summary
 void addSession(Session session)
          INTERNAL: add an named session to the hashtable.
 void addSession(java.lang.String sessionName, Session session)
          ADVANCED: add an named session to the hashtable.
 void destroyAllSessions()
          INTERNAL: Destroy all sessions held onto by this manager.
 void destroySession(java.lang.String sessionName)
          INTERNAL: Destroy the session defined by sessionName on this manager.
 Session getDefaultSession()
          PUBLIC: Return the default session.
 SessionConfigs getInternalMWConfigObjects(java.lang.String resourceName, java.lang.ClassLoader objectClassLoader)
          INTERNAL:
 SessionConfigs getInternalMWConfigObjects(java.lang.String resourceName, java.lang.ClassLoader objectClassLoader, boolean validate)
          INTERNAL:
static SessionManager getManager()
          PUBLIC: Return the singleton session manager.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName)
          PUBLIC: Return the session by name.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName, boolean shouldLoginSession)
          PUBLIC: Return the session by name.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName, boolean shouldLoginSession, boolean shouldRefreshSession)
          PUBLIC: Return the session by name.
 AbstractSession getSession(java.lang.String sessionName, java.lang.ClassLoader objectClassLoader)
          PUBLIC: Return the session by name.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName, java.lang.Object objectBean)
          PUBLIC: Return the session by name, using the classloader of the Object specified.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName, java.lang.String filename)
          PUBLIC: Return the session by name, in the file specified.
 AbstractSession getSession(java.lang.String sessionName, java.lang.String filename, java.lang.ClassLoader classLoader)
          PUBLIC: Return the session by name, in the file specified, using the class loader to find the resource.
 AbstractSession getSession(XMLLoader xmlLoader, java.lang.String sessionName, java.lang.ClassLoader objectClassLoader, boolean shouldLoginSession, boolean shouldRefreshSession)
          Deprecated. since OracleAS TopLink 10g (10.1.3). Replaced by #getSession(XMLSessionConfigLoader, String, ClassLoader, boolean, boolean)
 AbstractSession getSession(XMLSessionConfigLoader loader, java.lang.String sessionName, java.lang.ClassLoader objectClassLoader, boolean shouldLoginSession, boolean shouldRefreshSession, boolean shouldCheckClassLoader)
          PUBLIC: Return the session by name, loading the configuration from the file specified in the loader.
 java.util.Map getSessions()
          INTERNAL: Return a hashtable on all sessions.
 org.eclipse.persistence.internal.sessions.AbstractSession getWASSession(WASXMLSessionConfigLoader xmlSessionConfigLoader, java.lang.ClassLoader classLoader)
          INTERNAL: This return the first session from toplink-ejb-jar.xml file.
protected static SessionManager initializeManager()
          INTERNAL: Initialize the singleton session manager.
 SessionBroker processSessionBrokerPlaceHolder(SessionBrokerPlaceHolder placeHolder, XMLLoader xmlLoader, java.lang.ClassLoader objectClassLoader, boolean shouldLoginSession, boolean shouldRefreshSession)
          Deprecated. since OracleAS TopLink 10g (10.0.3) There is no direct replacement API.
 void setDefaultSession(Session defaultSession)
          PUBLIC: Set the default session.
static void setManager(SessionManager theManager)
          INTERNAL: Set the singleton session manager.
 void setSessions(java.util.Hashtable sessions)
          INTERNAL: Set a hashtable of all sessions
static void setShouldPerformDTDValidation(boolean shouldPerformDTDValidation0)
          Deprecated. since OracleAS TopLink 10g (10.1.3). Replaced by setShouldUseSchemaValidation(boolean)
static void setShouldUseSchemaValidation(boolean value)
          PUBLIC: Set if schema validation will be used when parsing the 10g (10.1.3) sessions XML.
static boolean shouldPerformDTDValidation()
          Deprecated. since OracleAS TopLink 10g (10.1.3). Replaced by shouldUseSchemaValidation()
static boolean shouldUseSchemaValidation()
          PUBLIC: Return if schema validation will be used when parsing the 10g (10.1.3) sessions XML.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shouldUseSchemaValidation

protected static boolean shouldUseSchemaValidation
Allow for usage of schema validation to be configurable.


manager

protected static SessionManager manager

defaultSession

protected AbstractSession defaultSession

sessions

protected java.util.Map sessions

shouldPerformDTDValidation

protected static boolean shouldPerformDTDValidation
Constructor Detail

SessionManager

public SessionManager()
PUBLIC: The default constructor to create a new session manager.

Method Detail

shouldUseSchemaValidation

public static boolean shouldUseSchemaValidation()
PUBLIC: Return if schema validation will be used when parsing the 10g (10.1.3) sessions XML.


setShouldUseSchemaValidation

public static void setShouldUseSchemaValidation(boolean value)
PUBLIC: Set if schema validation will be used when parsing the 10g (10.1.3) sessions XML. By default schema validation is on, but can be turned off if validation problems occur, or to improve parsing performance.


addSession

public void addSession(Session session)
INTERNAL: add an named session to the hashtable. session must have a name prior to setting into session Manager


addSession

public void addSession(java.lang.String sessionName,
                       Session session)
ADVANCED: add an named session to the hashtable.


getDefaultSession

public Session getDefaultSession()
PUBLIC: Return the default session. The session configuration is stored in a sessions.xml file in a directory on your classpath. Other sessions are supported through the getSession by name API.


destroySession

public void destroySession(java.lang.String sessionName)
INTERNAL: Destroy the session defined by sessionName on this manager.


destroyAllSessions

public void destroyAllSessions()
INTERNAL: Destroy all sessions held onto by this manager.


getInternalMWConfigObjects

public SessionConfigs getInternalMWConfigObjects(java.lang.String resourceName,
                                                 java.lang.ClassLoader objectClassLoader)
INTERNAL:


getInternalMWConfigObjects

public SessionConfigs getInternalMWConfigObjects(java.lang.String resourceName,
                                                 java.lang.ClassLoader objectClassLoader,
                                                 boolean validate)
INTERNAL:


getManager

public static SessionManager getManager()
PUBLIC: Return the singleton session manager. This allow global access to a set of named sessions.


initializeManager

protected static SessionManager initializeManager()
INTERNAL: Initialize the singleton session manager.


getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName)
PUBLIC: Return the session by name.


getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName,
                                                                            boolean shouldLoginSession)
PUBLIC: Return the session by name. Log the session in only if specified.


getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName,
                                                                            boolean shouldLoginSession,
                                                                            boolean shouldRefreshSession)
PUBLIC: Return the session by name. Log the session in only if specified. Refresh the session only if specified.


getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName,
                                                                            java.lang.Object objectBean)
PUBLIC: Return the session by name, using the classloader of the Object specified. This method is used in older versions of BMP support This method will cause the class loader of the provided object to be compared with the classloader used to load the original session of this name, with this classloader. If they are not the same then the session will be refreshed.


getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession(java.lang.String sessionName,
                                                                            java.lang.String filename)
PUBLIC: Return the session by name, in the file specified. Login the session.


getSession

public AbstractSession getSession(java.lang.String sessionName,
                                  java.lang.String filename,
                                  java.lang.ClassLoader classLoader)
PUBLIC: Return the session by name, in the file specified, using the class loader to find the resource. This method will cause the class loader to be compared with the classloader used to load the original session of this name. If they are not the same then the session will be refreshed.


getSession

public AbstractSession getSession(java.lang.String sessionName,
                                  java.lang.ClassLoader objectClassLoader)
PUBLIC: Return the session by name. Provide the class loader for loading the project, the configuration file and the deployed classes. E.g. SessionManager.getManager().getSession("mySession", MySessionBean.getClassLoader()); This method will cause the class loader to be compared with the classloader used to load the original session of this name. If they are not the same then the session will be refreshed.


getSession

public AbstractSession getSession(XMLLoader xmlLoader,
                                  java.lang.String sessionName,
                                  java.lang.ClassLoader objectClassLoader,
                                  boolean shouldLoginSession,
                                  boolean shouldRefreshSession)
Deprecated. since OracleAS TopLink 10g (10.1.3). Replaced by #getSession(XMLSessionConfigLoader, String, ClassLoader, boolean, boolean)

PUBLIC: Return the session by name, loading the configuration from the file specified in the xmlLoader. Provide the class loader for loading the project, the configuration file and the deployed classes. Pass in true for shouldLoginSession if the session returned should be logged in before returned otherwise false. Pass in true for shouldRefreshSession if the xmlLoader should reparse the configuration file for new sessions. False, will cause the XMLLoader not to parse the file again.


getSession

public AbstractSession getSession(XMLSessionConfigLoader loader,
                                  java.lang.String sessionName,
                                  java.lang.ClassLoader objectClassLoader,
                                  boolean shouldLoginSession,
                                  boolean shouldRefreshSession,
                                  boolean shouldCheckClassLoader)
PUBLIC: Return the session by name, loading the configuration from the file specified in the loader. Provide the class loader for loading the project, the configuration file and the deployed classes. Pass in true for shouldLoginSession if the session returned should be logged in before returned otherwise false. Pass in true for shouldRefreshSession if the XMLSessionConfigLoader should reparse the configuration file for new sessions. False, will cause the XMLSessionConfigLoader not to parse the file again. Pass true for shouldCheckClassLoader will cause the class loader to be compared with the classloader used to load the original session of this name. If they are not the same then the session will be refreshed, this can be used for re-deployment.


getWASSession

public org.eclipse.persistence.internal.sessions.AbstractSession getWASSession(WASXMLSessionConfigLoader xmlSessionConfigLoader,
                                                                               java.lang.ClassLoader classLoader)
INTERNAL: This return the first session from toplink-ejb-jar.xml file. The returned session is not connected and it is used by TL for WebSphere CMP


processSessionBrokerPlaceHolder

public SessionBroker processSessionBrokerPlaceHolder(SessionBrokerPlaceHolder placeHolder,
                                                     XMLLoader xmlLoader,
                                                     java.lang.ClassLoader objectClassLoader,
                                                     boolean shouldLoginSession,
                                                     boolean shouldRefreshSession)
Deprecated. since OracleAS TopLink 10g (10.0.3) There is no direct replacement API.

INTERNAL:


setSessions

public void setSessions(java.util.Hashtable sessions)
INTERNAL: Set a hashtable of all sessions


getSessions

public java.util.Map getSessions()
INTERNAL: Return a hashtable on all sessions.


setDefaultSession

public void setDefaultSession(Session defaultSession)
PUBLIC: Set the default session. If not set the session configuration is stored in a sessions.xml file in a TopLink directory on your classpath. Other sessions are supported through the getSession by name API.


setManager

public static void setManager(SessionManager theManager)
INTERNAL: Set the singleton session manager. This allows global access to a set of named sessions.


shouldPerformDTDValidation

public static boolean shouldPerformDTDValidation()
Deprecated. since OracleAS TopLink 10g (10.1.3). Replaced by shouldUseSchemaValidation()

PUBLIC: Get the shouldPerformDTDValidation flag.


setShouldPerformDTDValidation

public static void setShouldPerformDTDValidation(boolean shouldPerformDTDValidation0)
Deprecated. since OracleAS TopLink 10g (10.1.3). Replaced by setShouldUseSchemaValidation(boolean)

PUBLIC: Set the shouldPerformDTDValidation flag.


EclipseLink 1.0_1.0M2 API Reference - Incubation