Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


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:

Since:
TOPLink/Java 3.0
Author:
James Sutherland

Field Summary
protected  org.eclipse.persistence.internal.sessions.AbstractSession defaultSession
           
protected static SessionManager manager
           
protected  java.util.concurrent.ConcurrentMap<java.lang.String,Session> 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.
private  void destroy(DatabaseSession session)
           
 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.
 org.eclipse.persistence.internal.sessions.factories.model.SessionConfigs getInternalMWConfigObjects(java.lang.String resourceName, java.lang.ClassLoader objectClassLoader)
          INTERNAL:
 org.eclipse.persistence.internal.sessions.factories.model.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.
 org.eclipse.persistence.internal.sessions.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.
 org.eclipse.persistence.internal.sessions.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.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(XMLSessionConfigLoader loader)
          PUBLIC: Return the session by name, loading the configuration from the file specified in the loader, using the loading options provided on the loader.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(XMLSessionConfigLoader loader, java.lang.String sessionName, java.lang.ClassLoader objectClassLoader)
          PUBLIC: Return the session by name, loading the configuration from the file specified in the XMLSessionConfigLoader.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession(XMLSessionConfigLoader loader, java.lang.String sessionName, java.lang.ClassLoader objectClassLoader, boolean shouldLoginSession, boolean shouldRefreshSession)
          PUBLIC: Return the session by name, loading the configuration from the file specified in the loader.
 org.eclipse.persistence.internal.sessions.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.concurrent.ConcurrentMap getSessions()
          INTERNAL: Return a hashtable on all sessions.
protected static SessionManager initializeManager()
          INTERNAL: Initialize the singleton session manager.
private  void logAndThrowException(int level, java.lang.RuntimeException exception)
          INTERNAL: Log exceptions to the default log then throw them.
 void setDefaultSession(Session defaultSession)
          PUBLIC: Set the default session.
static void setManager(SessionManager theManager)
          INTERNAL: Set the singleton session manager.
 void setSessions(java.util.concurrent.ConcurrentMap sessions)
          INTERNAL: Set a hashtable of all sessions
static void setShouldUseSchemaValidation(boolean value)
          PUBLIC: Set if schema validation will be used when parsing the 10g (10.1.3) sessions XML.
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 org.eclipse.persistence.internal.sessions.AbstractSession defaultSession

sessions

protected java.util.concurrent.ConcurrentMap<java.lang.String,Session> 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.

destroy

private void destroy(DatabaseSession session)

destroyAllSessions

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

getInternalMWConfigObjects

public org.eclipse.persistence.internal.sessions.factories.model.SessionConfigs getInternalMWConfigObjects(java.lang.String resourceName,
                                                                                                           java.lang.ClassLoader objectClassLoader)
INTERNAL:

getInternalMWConfigObjects

public org.eclipse.persistence.internal.sessions.factories.model.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 org.eclipse.persistence.internal.sessions.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 org.eclipse.persistence.internal.sessions.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 org.eclipse.persistence.internal.sessions.AbstractSession getSession(XMLSessionConfigLoader loader,
                                                                            java.lang.String sessionName,
                                                                            java.lang.ClassLoader objectClassLoader)
PUBLIC: Return the session by name, loading the configuration from the file specified in the XMLSessionConfigLoader. Provide the class loader for loading the project, the configuration file and the deployed classes. 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 org.eclipse.persistence.internal.sessions.AbstractSession getSession(XMLSessionConfigLoader loader,
                                                                            java.lang.String sessionName,
                                                                            java.lang.ClassLoader objectClassLoader,
                                                                            boolean shouldLoginSession,
                                                                            boolean shouldRefreshSession)
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.

getSession

public org.eclipse.persistence.internal.sessions.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.

getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession(XMLSessionConfigLoader loader)
PUBLIC: Return the session by name, loading the configuration from the file specified in the loader, using the loading options provided on the loader.

logAndThrowException

private void logAndThrowException(int level,
                                  java.lang.RuntimeException exception)
                           throws java.lang.RuntimeException
INTERNAL: Log exceptions to the default log then throw them.
Throws:
java.lang.RuntimeException

setSessions

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

getSessions

public java.util.concurrent.ConcurrentMap 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.

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.