Package org.eclipse.persistence.services
Class RuntimeServices
- java.lang.Object
-
- org.eclipse.persistence.services.RuntimeServices
-
- Direct Known Subclasses:
GlassfishRuntimeServices
,JBossRuntimeServices
,MBeanRuntimeServices
,WebLogicRuntimeServices
,WebSphereRuntimeServices
public abstract class RuntimeServices extends java.lang.Object
Purpose: Provide a dynamic interface into the EclipseLink Session.
Description: This class is meant to provide a framework for gaining access to configuration of the EclipseLink Session during runtime. It will provide the basis for development of a JMX service and possibly other frameworks.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
EclipseLink_Product_Name
java.lang.String
objectName
protected static java.lang.String
PLATFORM_NAME
Short name for the server platform - Must override in subclassprotected Session
session
stores access to the session object that we are controlling
-
Constructor Summary
Constructors Constructor Description RuntimeServices()
Default ConstructorRuntimeServices(Session session)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addNewConnectionPool(java.lang.String poolName, int maxSize, int minSize, java.lang.String platform, java.lang.String driverClassName, java.lang.String url, java.lang.String userName, java.lang.String password)
This method provides client with access to add a new connection pool to a EclipseLink ServerSession.void
clearStatementCache()
Used to clear the statement cache.java.lang.String
getApplicationName()
getApplicationName(): Answer the name of the module (EAR name) that this session is associated with.java.util.List
getAvailableConnectionPools()
This method will return the available Connection pools within this Server Sessionprotected java.lang.String
getCacheTypeFor(java.lang.Class identityMapClass)
INTERNAL: getCacheTypeFor: Give a more UI-friendly version of the cache typejava.util.List
getClassesInSession()
This method is used to return those Class Names that have identity Maps in the Session.java.lang.Object[][]
getClassSummaryDetails()
PUBLIC: Provide an instance of 2 Dimensional Array simulating tabular format information about all classes in the session.java.util.List<ClassSummaryDetailBase>
getClassSummaryDetailsArray()
Provide a list of instance of ClassSummaryDetail containing information about all classes in the session.java.lang.Object[][]
getClassSummaryDetailsUsingFilter(java.lang.String filter)
Provide an instance of 2 Dimensional Array simulating tabular format information about all classes in the session whose class names match the provided filter.java.util.List<ClassSummaryDetailBase>
getClassSummaryDetailsUsingFilterArray(java.lang.String filter)
Provide a list of instance of ClassSummaryDetail containing information about the classes in the session whose class names match the provided filter.java.lang.String
getConnectionPoolType()
Return connection pool type.java.lang.String
getCurrentEclipseLinkLogLevel()
PUBLIC: Answer the EclipseLink log level that is changeable.java.lang.String
getDatabasePlatform()
Return the database platform used by the DatabaseSession.java.lang.String
getDeployedEclipseLinkLogLevel()
PUBLIC: Answer the EclipseLink log level at deployment time.SessionLog
getDeployedSessionLog()
int
getDeployedSessionProfileWeight()
java.lang.String
getDriver()
Return db driver class name.java.lang.String
getJdbcConnectionDetails()
Return JDBCConnection detail information.java.lang.String
getLogFilename()
Return the log filename.int
getLogLevel(java.lang.String category)
Return the log leveljava.lang.String
getLogType()
Return the log type, either "EclipseLink", "Java" or the simple name of the logging class used.java.util.Vector
getMappedClassNamesUsingFilter(java.lang.String filter)
INTERNAL: This method traverses the EclipseLink descriptors and returns a Vector of the descriptor's reference class names that match the provided filter.java.lang.Integer
getMaxSizeForPool(java.lang.String poolName)
This method will retrieve the max size of a particular connection pooljava.lang.Integer
getMinSizeForPool(java.lang.String poolName)
This method will retrieve the min size of a particular connection pooljava.lang.String
getModuleName()
getModuleName(): Answer the name of the context-root of the application that this session is associated with.java.lang.Integer
getNumberOfObjectsInAllIdentityMaps()
This method will SUM and return the number of objects in all Identity Maps in the session.java.lang.Integer
getNumberOfObjectsInIdentityMap(java.lang.String className)
This method is used to return the number of objects in a particular Identity Mapjava.lang.Integer
getNumberOfObjectsInIdentityMapSubCache(java.lang.String className)
This method is used to return the number of objects in a particular Identity Map's subcache.java.lang.Integer
getNumberOfPersistentClasses()
This method will answer the number of persistent classes contained in the session.java.lang.String
getObjectName()
java.util.List
getObjectsInIdentityMap(java.lang.String className)
This method will return a collection of the objects in the Identity Map.java.util.List
getObjectsInIdentityMapSubCacheAsMap(java.lang.String className)
This method is used to return a Map of the objects in a particular Identity Map's subcache.int
getProfileWeight()
Return the DMS sensor weightjava.lang.String
getProfilingType()
This method is used to get the type of profiling.int
getSequencePreallocationSize()
Method returns the value of the Sequence Preallocation sizeprotected org.eclipse.persistence.internal.sessions.AbstractSession
getSession()
INTERNAL:java.lang.String
getSessionName()
Answer the name of the EclipseLink session this MBean represents.java.lang.String
getSessionType()
Answer the type of the EclipseLink session this MBean represents.java.lang.Boolean
getShouldBindAllParameters()
Method returns if all Parameters should be bound or notboolean
getShouldCacheAllStatements()
Returns if statements should be cached or notboolean
getShouldLogMessages()
This method is used to determine if logging is turned onboolean
getShouldLogPerformanceProfiler()
Method indicates if Performance profile should be loggedboolean
getShouldProfilePerformance()
This method will return if profiling is turned on or notjava.util.List
getSizeForPool(java.lang.String poolName)
This method will retrieve the size of a particular connection poolint
getStatementCacheSize()
Returns the statement cache size.java.lang.Integer
getStringBindingSize()
Return the size of strings after which will be bound into the statement If we are not using a DatabaseLogin, or we're not using string binding, answer 0 (zero).java.lang.Long
getTimeConnectionEstablished()
This method will return a long indicating the exact time in Milliseconds that the session connected to the database.java.lang.Boolean
getUsesBatchWriting()
This method will return if batchWriting is in use or not.java.lang.Boolean
getUsesByteArrayBinding()
Shows if Byte Array Binding is turned on or notjava.lang.Boolean
getUsesEclipseLinkProfiling()
This method answers true if EclipseLink Performance Profiling is on.java.lang.Boolean
getUsesJDBCBatchWriting()
This method will return if batchWriting is in use or not.java.lang.Boolean
getUsesNativeSQL()
Shows if native SQL is being usedjava.lang.Boolean
getUsesStreamsForBinding()
This method indicates if streams are being used for bindingjava.lang.Boolean
getUsesStringBinding()
This method indicates if Strings are being boundvoid
initializeAllIdentityMaps()
This method is used to initialize the identity maps in the session.void
initializeIdentityMap(java.lang.String className)
This method is used to initialize the identity maps specified by className.void
initializeIdentityMaps(java.lang.String[] classNames)
This method is used to initialize the identity maps specified by the Vector of classNames.void
invalidateAllIdentityMaps()
This method is used to invalidate the identity maps in the session.void
invalidateIdentityMap(java.lang.String className)
This method is used to invalidate the identity maps specified by className.void
invalidateIdentityMap(java.lang.String className, java.lang.Boolean recurse)
This method is used to invalidate the identity maps specified by className.void
invalidateIdentityMaps(java.lang.String[] classNamesParam, java.lang.Boolean recurse)
This method is used to invalidate the identity maps specified by the String[] of classNames.boolean
isJPASession()
Return whether this session is an EclipseLink JPA session.void
printAllIdentityMapTypes()
This method will log the types of Identity Maps in the session.void
printAvailableConnectionPools()
This method will print the available Connection pools to the SessionLog.void
printClassesInSession()
This method is used to output those Class Names that have identity Maps in the Session.void
printIdentityMapLocks()
This method will log the instance level locks in all Identity Maps in the session.void
printIdentityMapLocks(java.lang.String registeredClassName)
This method will log the instance level locks in the Identity Map for the given class in the session.void
printObjectsInIdentityMap(java.lang.String className)
This method will log the objects in the Identity Map.void
printObjectsInIdentityMaps()
This method will log all objects in all Identity Maps in the session.void
printProfileSummary()
This method assumes EclipseLink Profiling (as opposed to Java profiling).void
printProfileSummaryByClass()
This method assumes EclipseLink Profiling (as opposed to Java profiling).void
printProfileSummaryByQuery()
This method assumes EclipseLink Profiling (as opposed to Java profiling).void
resetAllConnections()
This method is used to reset connections from the session to the database.void
setCurrentEclipseLinkLogLevel(java.lang.String newLevel)
PUBLIC: Set the EclipseLink log level to be used at runtime.void
setLogLevel(int level)
Set the log levelvoid
setProfileWeight(int weight)
This method is used to change DMS sensor weight.void
setProfilingType(java.lang.String profileType)
This method is used to select the type of profiling.void
setSequencePreallocationSize(int size)
This method provide access for setting the sequence pre-allocation sizeprotected void
setSession(org.eclipse.persistence.internal.sessions.AbstractSession newSession)
INTERNAL: Define the session that this instance is providing runtime services forvoid
setShouldCacheAllStatements(boolean shouldCacheAllStatements)
Method used to set if statements should be cached.void
setShouldLogPerformanceProfiler(boolean shouldLogPerformanceProfiler)
This method is used to turn on Profile logging when using the Performance Profilervoid
setShouldProfilePerformance(boolean shouldProfile)
This method is used to turn on Performance Profilingvoid
setStatementCacheSize(int size)
Used to set the statement cache size.void
setUseEclipseLinkProfiling()
This method is used to turn on EclipseLink Performance Profilingvoid
setUseNoProfiling()
This method is used to turn off all Performance Profiling, DMS or EclipseLink.boolean
shouldLog(int Level, java.lang.String category)
Check if a message of the given level would actually be logged.protected void
updateDeploymentTimeData()
INTERNAL: Define the deployment time data associated with logging and profilingvoid
updatePoolSize(java.lang.String poolName, int maxSize, int minSize)
This method allows the client to set the pool size for a particular pool, based on the pool name
-
-
-
Field Detail
-
session
protected Session session
stores access to the session object that we are controlling
-
objectName
public java.lang.String objectName
-
EclipseLink_Product_Name
protected static final java.lang.String EclipseLink_Product_Name
- See Also:
- Constant Field Values
-
PLATFORM_NAME
protected static java.lang.String PLATFORM_NAME
Short name for the server platform - Must override in subclass
-
-
Constructor Detail
-
RuntimeServices
public RuntimeServices()
Default Constructor
-
RuntimeServices
public RuntimeServices(Session session)
Constructor- Parameters:
session
- the session to be used with these RuntimeServices
-
-
Method Detail
-
getSession
protected org.eclipse.persistence.internal.sessions.AbstractSession getSession()
INTERNAL:
-
getSessionName
public java.lang.String getSessionName()
Answer the name of the EclipseLink session this MBean represents.
-
getShouldLogMessages
public boolean getShouldLogMessages()
This method is used to determine if logging is turned on
-
setShouldProfilePerformance
public void setShouldProfilePerformance(boolean shouldProfile)
This method is used to turn on Performance Profiling
-
getShouldProfilePerformance
public boolean getShouldProfilePerformance()
This method will return if profiling is turned on or not
-
setShouldLogPerformanceProfiler
public void setShouldLogPerformanceProfiler(boolean shouldLogPerformanceProfiler)
This method is used to turn on Profile logging when using the Performance Profiler
-
getShouldLogPerformanceProfiler
public boolean getShouldLogPerformanceProfiler()
Method indicates if Performance profile should be logged
-
setShouldCacheAllStatements
public void setShouldCacheAllStatements(boolean shouldCacheAllStatements)
Method used to set if statements should be cached. Please note that Statements can not be cached when using an external connection pool
-
setStatementCacheSize
public void setStatementCacheSize(int size)
Used to set the statement cache size. This is only valid if using cached Statements
-
getStatementCacheSize
public int getStatementCacheSize()
Returns the statement cache size. Only valid if statements are being cached
-
setSequencePreallocationSize
public void setSequencePreallocationSize(int size)
This method provide access for setting the sequence pre-allocation size
-
getSequencePreallocationSize
public int getSequencePreallocationSize()
Method returns the value of the Sequence Preallocation size
-
updatePoolSize
public void updatePoolSize(java.lang.String poolName, int maxSize, int minSize)
This method allows the client to set the pool size for a particular pool, based on the pool name- Parameters:
poolName
- the name of the pool to be updated.maxSize
- the new maximum number of connectionsminSize
- the new minimum number of connections
-
getAvailableConnectionPools
public java.util.List getAvailableConnectionPools()
This method will return the available Connection pools within this Server Session- Returns:
- java.util.List the available pools.
-
getSizeForPool
public java.util.List getSizeForPool(java.lang.String poolName)
This method will retrieve the size of a particular connection pool- Parameters:
poolName
- the name of the pool to get the size for- Returns:
- java.util.List a list containing two values. The first value is the Maximun size of the pool. The second value is the Minimum size of the pool.
-
addNewConnectionPool
public void addNewConnectionPool(java.lang.String poolName, int maxSize, int minSize, java.lang.String platform, java.lang.String driverClassName, java.lang.String url, java.lang.String userName, java.lang.String password) throws java.lang.ClassNotFoundException
This method provides client with access to add a new connection pool to a EclipseLink ServerSession.- Parameters:
poolName
- the name of the new poolmaxSize
- the maximum number of connections in the poolminSize
- the minimum number of connections in the poolplatform
- the fully qualified name of the EclipseLink platform to use with this pool.driverClassName
- the fully qualified name of the JDBC driver classurl
- the URL of the database to connect touserName
- the user name to connect to the database withpassword
- the password to connect to the database with- Throws:
java.lang.ClassNotFoundException
- if any of the class names are misspelled.
-
resetAllConnections
public void resetAllConnections()
This method is used to reset connections from the session to the database. Please Note that this will not work with a SessionBroker at this time
-
getClassesInSession
public java.util.List getClassesInSession()
This method is used to return those Class Names that have identity Maps in the Session. Please note that SubClasses and aggregates will be missing form this list as they do not have separate identity maps.- Returns:
- java.util.List contains all of the classes which have identity maps in the current session.
-
getObjectsInIdentityMap
public java.util.List getObjectsInIdentityMap(java.lang.String className) throws java.lang.ClassNotFoundException
This method will return a collection of the objects in the Identity Map. There is no particular order to these objects.- Parameters:
className
- the fully qualified classname of the class to the instances of- Throws:
java.lang.ClassNotFoundException
- thrown then the IdentityMap for that class name could not be found
-
getNumberOfObjectsInIdentityMap
public java.lang.Integer getNumberOfObjectsInIdentityMap(java.lang.String className) throws java.lang.ClassNotFoundException
This method is used to return the number of objects in a particular Identity Map- Parameters:
className
- the fully qualified name of the class to get number of instances of.- Throws:
java.lang.ClassNotFoundException
- thrown then the IdentityMap for that class name could not be found
-
getObjectsInIdentityMapSubCacheAsMap
public java.util.List getObjectsInIdentityMapSubCacheAsMap(java.lang.String className) throws java.lang.ClassNotFoundException
This method is used to return a Map of the objects in a particular Identity Map's subcache. Only works for those identity Maps with a sub cache (ie Hard Cache Weak Identity Map) This method replaces getObjectsInIdentityMapSubCache(className) which returns a list instead of a Map- Parameters:
className
- the fully qualified name of the class to get number of instances of.- Throws:
java.lang.ClassNotFoundException
- thrown then the IdentityMap for that class name could not be found
-
getNumberOfObjectsInIdentityMapSubCache
public java.lang.Integer getNumberOfObjectsInIdentityMapSubCache(java.lang.String className) throws java.lang.ClassNotFoundException
This method is used to return the number of objects in a particular Identity Map's subcache. Only works for those identity Maps with a sub cache (ie Hard Cache Weak Identity Map)- Parameters:
className
- the fully qualified name of the class to get number of instances of.- Throws:
java.lang.ClassNotFoundException
- thrown then the IdentityMap for that class name could not be found
-
getLogLevel
public int getLogLevel(java.lang.String category)
Return the log level
- Parameters:
category
- the string representation of an EclipseLink category, e.g. "sql", "transaction" ...- Returns:
- the log level
-
setLogLevel
public void setLogLevel(int level)
Set the log level
- Parameters:
level
- the new log level
-
shouldLog
public boolean shouldLog(int Level, java.lang.String category)
Check if a message of the given level would actually be logged.
- Parameters:
Level
- the log request levelcategory
- the string representation of an EclipseLink category- Returns:
- true if the given message level will be logged
-
getProfileWeight
public int getProfileWeight()
Return the DMS sensor weight- Returns:
-
setProfileWeight
public void setProfileWeight(int weight)
This method is used to change DMS sensor weight.
-
initializeIdentityMap
public void initializeIdentityMap(java.lang.String className) throws java.lang.ClassNotFoundException
This method is used to initialize the identity maps specified by className.- Parameters:
className
- the fully qualified classnames identifying the identity map to initialize- Throws:
java.lang.ClassNotFoundException
-
printIdentityMapLocks
public void printIdentityMapLocks()
This method will log the instance level locks in all Identity Maps in the session.
-
printIdentityMapLocks
public void printIdentityMapLocks(java.lang.String registeredClassName)
This method will log the instance level locks in the Identity Map for the given class in the session.
-
printProfileSummary
public void printProfileSummary()
This method assumes EclipseLink Profiling (as opposed to Java profiling). This will log at the INFO level a summary of all elements in the profile.
-
printProfileSummaryByClass
public void printProfileSummaryByClass()
This method assumes EclipseLink Profiling (as opposed to Java profiling). This will log at the INFO level a summary of all elements in the profile, categorized by Class.
-
printProfileSummaryByQuery
public void printProfileSummaryByQuery()
This method assumes EclipseLink Profiling (as opposed to Java profiling). This will log at the INFO level a summary of all elements in the profile, categorized by Query.
-
getProfilingType
public java.lang.String getProfilingType()
This method is used to get the type of profiling. Possible values are: "EclipseLink" or "None".
-
setProfilingType
public void setProfilingType(java.lang.String profileType)
This method is used to select the type of profiling. Valid values are: "EclipseLink" or "None". These values are not case sensitive. null is considered to be "None".
-
setUseEclipseLinkProfiling
public void setUseEclipseLinkProfiling()
This method is used to turn on EclipseLink Performance Profiling
-
setUseNoProfiling
public void setUseNoProfiling()
This method is used to turn off all Performance Profiling, DMS or EclipseLink.
-
getUsesEclipseLinkProfiling
public java.lang.Boolean getUsesEclipseLinkProfiling()
This method answers true if EclipseLink Performance Profiling is on.
-
getDeployedEclipseLinkLogLevel
public java.lang.String getDeployedEclipseLinkLogLevel()
PUBLIC: Answer the EclipseLink log level at deployment time. This is read-only.
-
getCurrentEclipseLinkLogLevel
public java.lang.String getCurrentEclipseLinkLogLevel()
PUBLIC: Answer the EclipseLink log level that is changeable. This does not affect the log level in the project (i.e. The next time the application is deployed, changes are forgotten)
-
setCurrentEclipseLinkLogLevel
public void setCurrentEclipseLinkLogLevel(java.lang.String newLevel)
PUBLIC: Set the EclipseLink log level to be used at runtime. This does not affect the log level in the project (i.e. The next time the application is deployed, changes are forgotten)- Parameters:
newLevel
- new log level
-
updateDeploymentTimeData
protected void updateDeploymentTimeData()
INTERNAL: Define the deployment time data associated with logging and profiling
-
getDeployedSessionProfileWeight
public int getDeployedSessionProfileWeight()
-
getDeployedSessionLog
public SessionLog getDeployedSessionLog()
-
getObjectName
public java.lang.String getObjectName()
-
isJPASession
public boolean isJPASession()
Return whether this session is an EclipseLink JPA session. The absence of this function or a value of false will signify that the session belongs to a provider other than EclipseLink.- Returns:
-
getSessionType
public java.lang.String getSessionType()
Answer the type of the EclipseLink session this MBean represents. Types include: "ServerSession", "DatabaseSession", "SessionBroker"
-
getClassSummaryDetailsUsingFilter
public java.lang.Object[][] getClassSummaryDetailsUsingFilter(java.lang.String filter)
Provide an instance of 2 Dimensional Array simulating tabular format information about all classes in the session whose class names match the provided filter. The 2 Dimensional array contains each item with values being row object array. Each row object array represents EclipseLink class details info with respect to below attributes: ["Class Name", "Parent Class Name", "Cache Type", "Configured Size", "Current Size"]
-
getClassSummaryDetails
public java.lang.Object[][] getClassSummaryDetails()
PUBLIC: Provide an instance of 2 Dimensional Array simulating tabular format information about all classes in the session. The 2 Dimensional array contains each item with values being row object array. Each row object array represents EclipseLink class details info with respect to below attributes: ["Class Name", "Parent Class Name", "Cache Type", "Configured Size", "Current Size"]
-
getMappedClassNamesUsingFilter
public java.util.Vector getMappedClassNamesUsingFilter(java.lang.String filter)
INTERNAL: This method traverses the EclipseLink descriptors and returns a Vector of the descriptor's reference class names that match the provided filter. The filter is a comma separated list of strings to match against.- Parameters:
filter
- A comma separated list of strings to match against.- Returns:
- A Vector of class names that match the filter.
-
getCacheTypeFor
protected java.lang.String getCacheTypeFor(java.lang.Class identityMapClass)
INTERNAL: getCacheTypeFor: Give a more UI-friendly version of the cache type
-
getModuleName
public java.lang.String getModuleName()
getModuleName(): Answer the name of the context-root of the application that this session is associated with. Answer "unknown" if there is no module name available. Default behavior is to return "unknown" - we override this behavior here for WebLogic.
-
getApplicationName
public java.lang.String getApplicationName()
getApplicationName(): Answer the name of the module (EAR name) that this session is associated with. Answer "unknown" if there is no application name available. Default behavior is to return "unknown" - we override this behavior here for all platform implementors of JMXEnabledPlatform
-
getShouldBindAllParameters
public java.lang.Boolean getShouldBindAllParameters()
Method returns if all Parameters should be bound or not
-
getStringBindingSize
public java.lang.Integer getStringBindingSize()
Return the size of strings after which will be bound into the statement If we are not using a DatabaseLogin, or we're not using string binding, answer 0 (zero).
-
getUsesBatchWriting
public java.lang.Boolean getUsesBatchWriting()
This method will return if batchWriting is in use or not.
-
getTimeConnectionEstablished
public java.lang.Long getTimeConnectionEstablished()
This method will return a long indicating the exact time in Milliseconds that the session connected to the database.
-
getUsesJDBCBatchWriting
public java.lang.Boolean getUsesJDBCBatchWriting()
This method will return if batchWriting is in use or not.
-
getUsesByteArrayBinding
public java.lang.Boolean getUsesByteArrayBinding()
Shows if Byte Array Binding is turned on or not
-
getUsesNativeSQL
public java.lang.Boolean getUsesNativeSQL()
Shows if native SQL is being used
-
getUsesStreamsForBinding
public java.lang.Boolean getUsesStreamsForBinding()
This method indicates if streams are being used for binding
-
getUsesStringBinding
public java.lang.Boolean getUsesStringBinding()
This method indicates if Strings are being bound
-
getShouldCacheAllStatements
public boolean getShouldCacheAllStatements()
Returns if statements should be cached or not
-
clearStatementCache
public void clearStatementCache()
Used to clear the statement cache. Only valid if statements are being cached
-
printAvailableConnectionPools
public void printAvailableConnectionPools()
This method will print the available Connection pools to the SessionLog.
-
getMaxSizeForPool
public java.lang.Integer getMaxSizeForPool(java.lang.String poolName)
This method will retrieve the max size of a particular connection pool- Parameters:
poolName
- the name of the pool to get the max size for- Returns:
- Integer for the max size of the pool. Return -1 if pool doesn't exist.
-
getMinSizeForPool
public java.lang.Integer getMinSizeForPool(java.lang.String poolName)
This method will retrieve the min size of a particular connection pool- Parameters:
poolName
- the name of the pool to get the min size for- Returns:
- Integer for the min size of the pool. Return -1 if pool doesn't exist.
-
printClassesInSession
public void printClassesInSession()
This method is used to output those Class Names that have identity Maps in the Session. Please note that SubClasses and aggregates will be missing from this list as they do not have separate identity maps.
-
printObjectsInIdentityMap
public void printObjectsInIdentityMap(java.lang.String className) throws java.lang.ClassNotFoundException
This method will log the objects in the Identity Map. There is no particular order to these objects.- Parameters:
className
- the fully qualified classname identifying the identity map- Throws:
java.lang.ClassNotFoundException
- thrown then the IdentityMap for that class name could not be found
-
printAllIdentityMapTypes
public void printAllIdentityMapTypes()
This method will log the types of Identity Maps in the session.
-
printObjectsInIdentityMaps
public void printObjectsInIdentityMaps()
This method will log all objects in all Identity Maps in the session.
-
getNumberOfObjectsInAllIdentityMaps
public java.lang.Integer getNumberOfObjectsInAllIdentityMaps()
This method will SUM and return the number of objects in all Identity Maps in the session.
-
getNumberOfPersistentClasses
public java.lang.Integer getNumberOfPersistentClasses()
This method will answer the number of persistent classes contained in the session. This does not include aggregates.
-
getLogType
public java.lang.String getLogType()
Return the log type, either "EclipseLink", "Java" or the simple name of the logging class used.- Returns:
- the log type
-
getDatabasePlatform
public java.lang.String getDatabasePlatform()
Return the database platform used by the DatabaseSession.- Returns:
- String databasePlatform
-
getJdbcConnectionDetails
public java.lang.String getJdbcConnectionDetails()
Return JDBCConnection detail information. This includes URL and datasource information.
-
getConnectionPoolType
public java.lang.String getConnectionPoolType()
Return connection pool type. Values include: "Internal", "External" and "N/A".
-
getDriver
public java.lang.String getDriver()
Return db driver class name. This only applies to DefaultConnector. Return "N/A" otherwise.
-
getLogFilename
public java.lang.String getLogFilename()
Return the log filename. This returns the fully qualified path of the log file when EclipseLink DefaultSessionLog instance is used. Null is returned otherwise.- Returns:
- String logFilename
-
initializeAllIdentityMaps
public void initializeAllIdentityMaps()
This method is used to initialize the identity maps in the session.
-
initializeIdentityMaps
public void initializeIdentityMaps(java.lang.String[] classNames) throws java.lang.ClassNotFoundException
This method is used to initialize the identity maps specified by the Vector of classNames.- Parameters:
classNames
- String[] of fully qualified classnames identifying the identity maps to initialize- Throws:
java.lang.ClassNotFoundException
-
invalidateAllIdentityMaps
public void invalidateAllIdentityMaps()
This method is used to invalidate the identity maps in the session.
-
invalidateIdentityMaps
public void invalidateIdentityMaps(java.lang.String[] classNamesParam, java.lang.Boolean recurse) throws java.lang.ClassNotFoundException
This method is used to invalidate the identity maps specified by the String[] of classNames.- Parameters:
classNamesParam
- String[] of fully qualified classnames identifying the identity maps to invalidaterecurse
- Boolean indicating if we want to invalidate the children identity maps too- Throws:
java.lang.ClassNotFoundException
-
invalidateIdentityMap
public void invalidateIdentityMap(java.lang.String className) throws java.lang.ClassNotFoundException
This method is used to invalidate the identity maps specified by className. This does not invalidate the children identity maps- Parameters:
className
- the fully qualified classname identifying the identity map to invalidate- Throws:
java.lang.ClassNotFoundException
-
invalidateIdentityMap
public void invalidateIdentityMap(java.lang.String className, java.lang.Boolean recurse) throws java.lang.ClassNotFoundException
This method is used to invalidate the identity maps specified by className.- Parameters:
className
- the fully qualified classname identifying the identity map to invalidaterecurse
- Boolean indicating if we want to invalidate the children identity maps too- Throws:
java.lang.ClassNotFoundException
-
setSession
protected void setSession(org.eclipse.persistence.internal.sessions.AbstractSession newSession)
INTERNAL: Define the session that this instance is providing runtime services for- Parameters:
newSession
- The session to be used with these RuntimeServices
-
getClassSummaryDetailsUsingFilterArray
public java.util.List<ClassSummaryDetailBase> getClassSummaryDetailsUsingFilterArray(java.lang.String filter)
Provide a list of instance of ClassSummaryDetail containing information about the classes in the session whose class names match the provided filter. ClassSummaryDetail is a model specific class that can be used internally by the Portable JMX Framework to convert class attribute to JMX required open type, it has:- 1. model specific type that needs to be converted : ["Class Name", "Parent Class Name", "Cache Type", "Configured Size", "Current Size"] 2. convert methods.- Parameters:
filter
- A comma separated list of strings to match against.- Returns:
- A ArrayList of instance of ClassSummaryDetail containing class information for the class names that match the filter.
-
getClassSummaryDetailsArray
public java.util.List<ClassSummaryDetailBase> getClassSummaryDetailsArray()
Provide a list of instance of ClassSummaryDetail containing information about all classes in the session. ClassSummaryDetail is a model specific class that can be used internally by the Portable JMX Framework to convert class attribute to JMX required open type, it has:- 1. model specific type that needs to be converted : ["Class Name", "Parent Class Name", "Cache Type", "Configured Size", "Current Size"] 2. convert methods.- Returns:
- A List of instance of ClassSummaryDetail objects containing class information for the class names that match the filter.
-
-