Class XMLSessionConfigLoader
- java.lang.Object
-
- org.eclipse.persistence.sessions.factories.XMLSessionConfigLoader
-
public class XMLSessionConfigLoader extends java.lang.ObjectProvide a mechanism for loading Session configuration XML files. This is used by the SessionManager to define how to find and load a Session from a sessions XML file. The sessions XML file is typically deployed in the applications jar (ejb-jar) and named sessions.xml in the /META-INF directory. Several loading options are provided,- resourceName : The resource path and file name to the sessions XML file, default is /sessions.xml or /META-INF/sessions.xml. (ensure "/" is used, not "\"). A file path can also be provided, although a resource is typically used.
- shouldLogin : Define if the loaded session should be connected, default true.
- shouldRefresh : Define if the loaded session should be refreshed from the file, (this old session will be disconnected) default false.
- classLoader : Define the class loader that should be used to find the resource. This loader will also be used as the loaded session's class loader. This should be the application's class loader. Default is the ConversionManager loader, which is thread-based.
- shouldCheckClassLoader : Defines if the session will be refreshed from the file if the class loader requesting the load, is different than the loaded session's class loader. This can be used to handle re-deployment.
- Author:
- Guy Pelletier
- Since:
- TopLink 10.1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classXMLSessionConfigLoader.XMLSessionConfigLoaderErrorHandlerINTERNAL:
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.ClassLoaderclassLoaderDefine the class loader that should be used to find the resource.protected static java.lang.StringDEFAULT_RESOURCE_NAMEprotected static java.lang.StringDEFAULT_RESOURCE_NAME_IN_META_INFstatic java.lang.StringECLIPSELINK_SESSIONS_SCHEMAprotected org.eclipse.persistence.internal.sessions.factories.PersistenceEntityResolverentityResolverUsed to store the entity resolver to validate the XML schema when parsing.protected java.util.Vector<java.lang.Throwable>exceptionStoreStores any exceptions that occurred to provide all the exceptions up front if the load fails.protected static ProjectprojectCache the creation and initialization of the Session XML mapping project.protected java.lang.StringresourceNameprotected java.lang.StringresourcePathStores the resource path to provide a better error message if the load fails.protected java.lang.StringsessionNameStores the name of the Session in the sessions XML file desired to be loaded.protected booleanshouldCheckClassLoaderDefines if the session will be refreshed from the file if the class loader requesting the load is different than the loaded session's class loader.protected booleanshouldLoginDefine if the loaded session should be connected, default true.protected booleanshouldRefreshDefine if the loaded session should be refreshed from the file.
-
Constructor Summary
Constructors Constructor Description XMLSessionConfigLoader()PUBLIC: This constructor is used when the file resource named 'sessions.xml' will be parsed for configuration.XMLSessionConfigLoader(java.lang.String resourceName)PUBLIC: This constructor is used when passing in the resource name of the configuration file that should be parsed
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ClassLoadergetClassLoader()PUBLIC: Return the class loader that should be used to find the resource.java.util.Vector<java.lang.Throwable>getExceptionStore()INTERNAL:protected static ProjectgetProject()Cache the creation and initialization of the Session XML mapping project.java.lang.StringgetResourceName()PUBLIC: Returns the resource name we are trying to load.java.lang.StringgetResourcePath()INTERNAL: Will return the the resource name with full path of the resource file.java.lang.StringgetSessionName()PUBLIC: Returns the name of the Session in the sessions XML file desired to be loaded.booleanload(SessionManager sessionManager, java.lang.ClassLoader loader)INTERNAL: This method instantiates the parser and builds the document based on the schema.org.eclipse.persistence.internal.sessions.factories.model.SessionConfigsloadConfigsForMappingWorkbench(java.lang.ClassLoader loader)INTERNAL: This method is to be used to load config objects for the Mapping Workbench only.org.eclipse.persistence.internal.sessions.factories.model.SessionConfigsloadConfigsForMappingWorkbench(java.lang.ClassLoader loader, boolean validate)INTERNAL: This method is to be used to load config objects for the Mapping Workbench only.protected org.w3c.dom.DocumentloadDocument(java.lang.ClassLoader loader)INTERNAL: Load a session.xml document.protected org.w3c.dom.DocumentloadDocument(java.lang.ClassLoader loader, boolean validate)INTERNAL: Load a session.xml document.voidsetClassLoader(java.lang.ClassLoader classLoader)PUBLIC: Set the class loader that should be used to find the resource.voidsetResourceName(java.lang.String resourceName)PUBLIC: Set the resource name we are trying to load.voidsetSessionName(java.lang.String sessionName)PUBLIC: Set the name of the Session in the sessions XML file desired to be loaded.voidsetShouldCheckClassLoader(boolean shouldCheckClassLoader)PUBLIC: Set if the session will be refreshed from the file if the class loader requesting the load is different than the loaded session's class loader.voidsetShouldLogin(boolean shouldLogin)PUBLIC: Set if the loaded session should be connected.voidsetShouldRefresh(boolean shouldRefresh)PUBLIC: Set if the loaded session should be refreshed from the file.booleanshouldCheckClassLoader()PUBLIC: Return if the session will be refreshed from the file if the class loader requesting the load is different than the loaded session's class loader.booleanshouldLogin()PUBLIC: Return if the loaded session should be connected.booleanshouldRefresh()PUBLIC: Return if the loaded session should be refreshed from the file.
-
-
-
Field Detail
-
resourceName
protected java.lang.String resourceName
-
resourcePath
protected java.lang.String resourcePath
Stores the resource path to provide a better error message if the load fails.
-
sessionName
protected java.lang.String sessionName
Stores the name of the Session in the sessions XML file desired to be loaded.
-
shouldLogin
protected boolean shouldLogin
Define if the loaded session should be connected, default true.
-
shouldRefresh
protected boolean shouldRefresh
Define if the loaded session should be refreshed from the file.
-
classLoader
protected java.lang.ClassLoader classLoader
Define the class loader that should be used to find the resource.
-
shouldCheckClassLoader
protected boolean shouldCheckClassLoader
Defines if the session will be refreshed from the file if the class loader requesting the load is different than the loaded session's class loader.
-
exceptionStore
protected java.util.Vector<java.lang.Throwable> exceptionStore
Stores any exceptions that occurred to provide all the exceptions up front if the load fails.
-
entityResolver
protected org.eclipse.persistence.internal.sessions.factories.PersistenceEntityResolver entityResolver
Used to store the entity resolver to validate the XML schema when parsing.
-
ECLIPSELINK_SESSIONS_SCHEMA
public static final java.lang.String ECLIPSELINK_SESSIONS_SCHEMA
- See Also:
- Constant Field Values
-
DEFAULT_RESOURCE_NAME
protected static final java.lang.String DEFAULT_RESOURCE_NAME
- See Also:
- Constant Field Values
-
DEFAULT_RESOURCE_NAME_IN_META_INF
protected static final java.lang.String DEFAULT_RESOURCE_NAME_IN_META_INF
- See Also:
- Constant Field Values
-
project
protected static final Project project
Cache the creation and initialization of the Session XML mapping project.
-
-
Constructor Detail
-
XMLSessionConfigLoader
public XMLSessionConfigLoader()
PUBLIC: This constructor is used when the file resource named 'sessions.xml' will be parsed for configuration.
-
XMLSessionConfigLoader
public XMLSessionConfigLoader(java.lang.String resourceName)
PUBLIC: This constructor is used when passing in the resource name of the configuration file that should be parsed
-
-
Method Detail
-
getProject
protected static Project getProject()
Cache the creation and initialization of the Session XML mapping project.
-
getResourcePath
public java.lang.String getResourcePath()
INTERNAL: Will return the the resource name with full path of the resource file.
-
getExceptionStore
public java.util.Vector<java.lang.Throwable> getExceptionStore()
INTERNAL:
-
getResourceName
public java.lang.String getResourceName()
PUBLIC: Returns the resource name we are trying to load.
-
setResourceName
public void setResourceName(java.lang.String resourceName)
PUBLIC: Set the resource name we are trying to load.
-
getSessionName
public java.lang.String getSessionName()
PUBLIC: Returns the name of the Session in the sessions XML file desired to be loaded.
-
setSessionName
public void setSessionName(java.lang.String sessionName)
PUBLIC: Set the name of the Session in the sessions XML file desired to be loaded.
-
shouldLogin
public boolean shouldLogin()
PUBLIC: Return if the loaded session should be connected.
-
setShouldLogin
public void setShouldLogin(boolean shouldLogin)
PUBLIC: Set if the loaded session should be connected.
-
shouldRefresh
public boolean shouldRefresh()
PUBLIC: Return if the loaded session should be refreshed from the file.
-
setShouldRefresh
public void setShouldRefresh(boolean shouldRefresh)
PUBLIC: Set if the loaded session should be refreshed from the file.
-
shouldCheckClassLoader
public boolean shouldCheckClassLoader()
PUBLIC: Return if the session will be refreshed from the file if the class loader requesting the load is different than the loaded session's class loader.
-
setShouldCheckClassLoader
public void setShouldCheckClassLoader(boolean shouldCheckClassLoader)
PUBLIC: Set if the session will be refreshed from the file if the class loader requesting the load is different than the loaded session's class loader.
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
PUBLIC: Return the class loader that should be used to find the resource.
-
setClassLoader
public void setClassLoader(java.lang.ClassLoader classLoader)
PUBLIC: Set the class loader that should be used to find the resource.
-
load
public boolean load(SessionManager sessionManager, java.lang.ClassLoader loader)
INTERNAL: This method instantiates the parser and builds the document based on the schema. If the document is loaded without errors, then the configs are converted to sessions and stored on the session manager and true is returned to indicate success.
-
loadConfigsForMappingWorkbench
public org.eclipse.persistence.internal.sessions.factories.model.SessionConfigs loadConfigsForMappingWorkbench(java.lang.ClassLoader loader)
INTERNAL: This method is to be used to load config objects for the Mapping Workbench only. Do not call this method.
-
loadConfigsForMappingWorkbench
public org.eclipse.persistence.internal.sessions.factories.model.SessionConfigs loadConfigsForMappingWorkbench(java.lang.ClassLoader loader, boolean validate)INTERNAL: This method is to be used to load config objects for the Mapping Workbench only. Do not call this method.
-
loadDocument
protected org.w3c.dom.Document loadDocument(java.lang.ClassLoader loader)
INTERNAL: Load a session.xml document. The error handler will capture all the errors and allow for a document to be returned.
-
loadDocument
protected org.w3c.dom.Document loadDocument(java.lang.ClassLoader loader, boolean validate)INTERNAL: Load a session.xml document. The error handler will capture all the errors and allow for a document to be returned.
-
-