Top Description Methods
org.eclipse.persistence.services.mbean

public Interface MBeanRuntimeServicesMBean

Known Direct Subinterfaces
org.eclipse.persistence.services.weblogic.MBeanWebLogicRuntimeServicesMBean, org.eclipse.persistence.services.websphere.MBeanWebSphereRuntimeServicesMBean, org.eclipse.persistence.services.wildfly.MBeanWildFlyRuntimeServicesMBean, org.eclipse.persistence.services.glassfish.MBeanGlassfishRuntimeServicesMBean, org.eclipse.persistence.services.jboss.MBeanJBossRuntimeServicesMBean
Known Direct Implementers
org.eclipse.persistence.services.mbean.MBeanRuntimeServices
Imports
java.util.List, .Vector, org.eclipse.persistence.services.ClassSummaryDetailBase

Purpose: Provide a dynamic interface into the EclipseLink Session.

Description: This class is meant to provide an interface for gaining access to configuration of the EclipseLink Session during runtime. It provides the basis for a JMX MBean

Method Summary

Modifier and TypeMethod and Description
public void
addNewConnectionPool(String poolName, int maxSize, int minSize, String platform, String driverClassName, String url, String userName, String password)

This method provides client with access to add a new connection pool to a TopLink ServerSession.

public void
clearStatementCache()

Used to clear the statement cache.

public String
getApplicationName()

getApplicationName(): Answer the name of the module (EAR name) that this session is associated with.

public List<E>
getAvailableConnectionPools()

This method will return the available Connection pools within this Server Session

public List<E>
getClassesInSession()

This method is used to return those Class Names that have identity Maps in the Session.

public Object[][]
getClassSummaryDetails()

Provide an instance of 2 Dimensional Array simulating tabular format information about all classes in the session.

public List<ClassSummaryDetailBase>

Returns:

A ArrayList of instance of ClassSummaryDetail containing class information for the class names that match the filter.
getClassSummaryDetailsArray
()

Provide a list of instance of ClassSummaryDetail containing information about all classes in the session.

public Object[][]
getClassSummaryDetailsUsingFilter(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.

public List<ClassSummaryDetailBase>

Returns:

A ArrayList of instance of ClassSummaryDetail containing class information for the class names that match the filter.
getClassSummaryDetailsUsingFilterArray
(String
A comma separated list of strings to match against.
filter
)

Provide a list of instance of ClassSummaryDetail containing information about the classes in the session whose class names match the provided filter.

public String
getConnectionPoolType()

Return connection pool type.

public String
getCurrentEclipseLinkLogLevel()

Answer the EclipseLink log level that is changeable.

public String

Returns:

String databasePlatform
getDatabasePlatform
()

Return the database platform used by the DatabaseSession.

public String
getDeployedEclipseLinkLogLevel()

Answer the EclipseLink log level at deployment time.

public String
getDriver()

Return db driver class name.

public String
getJdbcConnectionDetails()

Return JDBCConnection detail information.

public String

Returns:

String logFilename
getLogFilename
()

Return the log filename.

public String

Returns:

the log type
getLogType
()

Return the log type, either "EclipseLink", "Java" or the simple name of the logging class used.

public Vector<E>

Returns:

A Vector of class names that match the filter.
getMappedClassNamesUsingFilter
(String
A comma separated list of strings to match against.
filter
)

INTERNAL: This method traverses the EclipseLink descriptors and returns a Vector of the descriptor's reference class names that match the provided filter.

public Integer

Returns:

Integer for the max size of the pool. Return -1 if pool doesn't exist.
getMaxSizeForPool
(String
the name of the pool to get the max size for
poolName
)

This method will retrieve the max size of a particular connection pool

public Integer

Returns:

Integer for the min size of the pool. Return -1 if pool doesn't exist.
getMinSizeForPool
(String
the name of the pool to get the min size for
poolName
)

This method will retrieve the min size of a particular connection pool

public String
getModuleName()

getModuleName(): Answer the name of the context-root of the application that this session is associated with.

public Integer
getNumberOfObjectsInAllIdentityMaps()

This method will SUM and return the number of objects in all Identity Maps in the session.

public Integer
getNumberOfObjectsInIdentityMap(String
the fully qualified name of the class to get number of instances of.
className
)

This method is used to return the number of objects in a particular Identity Map

public Integer
getNumberOfObjectsInIdentityMapSubCache(String className)

This method is used to return the number of objects in a particular Identity Map's subcache.

public Integer
getNumberOfPersistentClasses()

This method will answer the number of persistent classes contained in the session.

public List<E>
getObjectsInIdentityMap(String className)

This method will return a collection of the objects in the Identity Map.

public List<E>
getObjectsInIdentityMapSubCacheAsMap(String className)

This method will return a collection of the objects in the Identity Map.

public int
getProfileWeight()

Return the DMS sensor weight

public String
getProfilingType()

This method is used to get the type of profiling.

public int
getSequencePreallocationSize()

Method returns the value of the Sequence Preallocation size

public String
getSessionName()

Answer the name of the EclipseLink session this MBean represents.

public String
getSessionType()

Answer the type of the EclipseLink session this MBean represents.

public boolean
getShouldCacheAllStatements()

Returns if statements should be cached or not

public boolean
getShouldLogMessages()

This method is used to determine if messages should be logged by the session

public boolean
getShouldLogPerformanceProfiler()

This method is used to determine if we should be logging when using the Performance Profiler

public boolean
getShouldProfilePerformance()

This method will return if profiling is turned on or not

public List<E>
getSizeForPool(String poolName)

This method will retrieve the size of a particular connection pool

public int
getStatementCacheSize()

Returns the statement cache size.

public 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).

public Long
getTimeConnectionEstablished()

This method will return a long indicating the exact time in Milliseconds that the session connected to the database.

public Boolean
getUsesByteArrayBinding()

Shows if Byte Array Binding is turned on or not

public Boolean
getUsesEclipseLinkProfiling()

This method answers true if EclipseLink Performance Profiling is on.

public Boolean
getUsesJDBCBatchWriting()

This method will return if batchWriting is in use or not.

public Boolean
getUsesNativeSQL()

Shows if native SQL is being used

public Boolean
getUsesStreamsForBinding()

This method indicates if streams are being used for binding

public Boolean
getUsesStringBinding()

This method indicates if Strings are being bound

public void
initializeIdentityMaps(String[]
String[] of fully qualified classnames identifying the identity maps to initialize
classNames
)

This method is used to initialize the identity maps specified by the Vector of classNames.

public void
invalidateAllIdentityMaps()

This method is used to invalidate the identity maps in the session.

public void
invalidateIdentityMap(String
the fully qualified classname identifying the identity map to invalidate
className
)

This method is used to invalidate the identity maps specified by className.

public void
invalidateIdentityMap(String
the fully qualified classname identifying the identity map to invalidate
className
,
Boolean
Boolean indicating if we want to invalidate the children identity maps too
recurse
)

This method is used to invalidate the identity maps specified by className.

public void
invalidateIdentityMaps(String[]
String[] of fully qualified classnames identifying the identity maps to invalidate
classNamesParam
,
Boolean
Boolean indicating if we want to invalidate the children identity maps too
recurse
)

This method is used to invalidate the identity maps specified by the String[] of classNames.

public boolean
isJPASession()

Return whether this session is an EclipseLink JPA session.

public void
printAllIdentityMapTypes()

This method will log the types of Identity Maps in the session.

public void
printAvailableConnectionPools()

This method will print the available Connection pools to the SessionLog.

public void
printClassesInSession()

This method is used to output those Class Names that have identity Maps in the Session.

public void
printIdentityMapLocks()

This method will log the instance level locks in all Identity Maps in the session.

public void
printIdentityMapLocks(String registeredClassName)

This method will log the instance level locks in the Identity Map for the given class in the session.

public void
printObjectsInIdentityMap(String
the fully qualified classname identifying the identity map
className
)

This method will log the objects in the Identity Map.

public void
printObjectsInIdentityMaps()

This method will log all objects in all Identity Maps in the session.

public void
printProfileSummary()

This method assumes EclipseLink Profiling (as opposed to Java profiling).

public void
printProfileSummaryByClass()

This method assumes EclipseLink Profiling (as opposed to Java profiling).

public void
printProfileSummaryByQuery()

This method assumes EclipseLink Profiling (as opposed to Java profiling).

public void
resetAllConnections()

This method is used to reset connections from the session to the database.

public void
setCurrentEclipseLinkLogLevel(String
new log level
newLevel
)

Set the EclipseLink log level to be used at runtime.

public void
setProfileWeight(int size)

Set the DMS sensor weight

public void
setProfilingType(String profileType)

This method is used to select the type of profiling.

public void
setSequencePreallocationSize(int size)

This method provides access for setting the sequence pre-allocation size

public void
setShouldCacheAllStatements(boolean shouldCacheAllStatements)

Method used to set if statements should be cached.

public void
setShouldLogPerformanceProfiler(boolean shouldLogPerformanceProfiler)

This method is used to turn on Profile logging when using the Performance Profiler

public void
setShouldProfilePerformance(boolean shouldProfile)

This method is used to turn on Performance Profiling

public void
setStatementCacheSize(int size)

Used to set the statement cache size.

public void
setUseEclipseLinkProfiling()

This method is used to turn on EclipseLink Performance Profiling

public void
setUseNoProfiling()

This method is used to turn off all Performance Profiling, DMS or EclipseLink.

public void
updatePoolSize(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

Method Detail

addNewConnectionPoolback to summary
public void addNewConnectionPool(String poolName, int maxSize, int minSize, String platform, String driverClassName, String url, String userName, String password) throws ClassNotFoundException

This method provides client with access to add a new connection pool to a TopLink ServerSession. This method throws classNotFound Exception if any of the class names are misspelled.

clearStatementCacheback to summary
public void clearStatementCache()

Used to clear the statement cache. Only valid if statements are being cached

getApplicationNameback to summary
public 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 WebLogic.

getAvailableConnectionPoolsback to summary
public List<E> getAvailableConnectionPools()

This method will return the available Connection pools within this Server Session

getClassesInSessionback to summary
public List<E> 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 from this list as they do not have separate identity maps.

getClassSummaryDetailsback to summary
public Object[][] getClassSummaryDetails()

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"]

getClassSummaryDetailsArrayback to summary
public 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:List<ClassSummaryDetailBase>

A ArrayList of instance of ClassSummaryDetail containing class information for the class names that match the filter.

getClassSummaryDetailsUsingFilterback to summary
public Object[][] getClassSummaryDetailsUsingFilter(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"]

getClassSummaryDetailsUsingFilterArrayback to summary
public List<ClassSummaryDetailBase> getClassSummaryDetailsUsingFilterArray(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:String

A comma separated list of strings to match against.

Returns:List<ClassSummaryDetailBase>

A ArrayList of instance of ClassSummaryDetail containing class information for the class names that match the filter.

getConnectionPoolTypeback to summary
public String getConnectionPoolType()

Return connection pool type. Values include: "Internal", "External" and "N/A".

getCurrentEclipseLinkLogLevelback to summary
public String getCurrentEclipseLinkLogLevel()

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)

getDatabasePlatformback to summary
public String getDatabasePlatform()

Return the database platform used by the DatabaseSession.

Returns:String

String databasePlatform

getDeployedEclipseLinkLogLevelback to summary
public String getDeployedEclipseLinkLogLevel()

Answer the EclipseLink log level at deployment time. This is read-only.

getDriverback to summary
public String getDriver()

Return db driver class name. This only applies to DefaultConnector. Return "N/A" otherwise.

getJdbcConnectionDetailsback to summary
public String getJdbcConnectionDetails()

Return JDBCConnection detail information. This includes URL and datasource information.

getLogFilenameback to summary
public String getLogFilename()

Return the log filename. This returns the fully qualified path of the log file when EclipseLink logging is enabled. Null is returned otherwise.

Returns:String

String logFilename

getLogTypeback to summary
public String getLogType()

Return the log type, either "EclipseLink", "Java" or the simple name of the logging class used.

Returns:String

the log type

getMappedClassNamesUsingFilterback to summary
public Vector<E> getMappedClassNamesUsingFilter(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:String

A comma separated list of strings to match against.

Returns:Vector<E>

A Vector of class names that match the filter.

getMaxSizeForPoolback to summary
public Integer getMaxSizeForPool(String poolName)

This method will retrieve the max size of a particular connection pool

Parameters
poolName:String

the name of the pool to get the max size for

Returns:Integer

Integer for the max size of the pool. Return -1 if pool doesn't exist.

getMinSizeForPoolback to summary
public Integer getMinSizeForPool(String poolName)

This method will retrieve the min size of a particular connection pool

Parameters
poolName:String

the name of the pool to get the min size for

Returns:Integer

Integer for the min size of the pool. Return -1 if pool doesn't exist.

getModuleNameback to summary
public 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.

getNumberOfObjectsInAllIdentityMapsback to summary
public Integer getNumberOfObjectsInAllIdentityMaps()

This method will SUM and return the number of objects in all Identity Maps in the session.

getNumberOfObjectsInIdentityMapback to summary
public Integer getNumberOfObjectsInIdentityMap(String className) throws ClassNotFoundException

This method is used to return the number of objects in a particular Identity Map

Parameters
className:String

the fully qualified name of the class to get number of instances of.

Exceptions
ClassNotFoundException:
if thrown then the IdentityMap for that class name could not be found
getNumberOfObjectsInIdentityMapSubCacheback to summary
public Integer getNumberOfObjectsInIdentityMapSubCache(String className) throws 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) If ClassNotFoundException is thrown then the IdenityMap for that class name could not be found

getNumberOfPersistentClassesback to summary
public Integer getNumberOfPersistentClasses()

This method will answer the number of persistent classes contained in the session. This does not include aggregates.

getObjectsInIdentityMapback to summary
public List<E> getObjectsInIdentityMap(String className) throws ClassNotFoundException

This method will return a collection of the objects in the Identity Map. There is no particular order to these objects.

getObjectsInIdentityMapSubCacheAsMapback to summary
public List<E> getObjectsInIdentityMapSubCacheAsMap(String className) throws ClassNotFoundException

This method will return a collection of the objects in the Identity Map. There is no particular order to these objects. These objects are returned as a Map which is how they are stored on the cache. This method replaces getObjectsInIdentityMapSubCache(String className) which returned a List.

getProfileWeightback to summary
public int getProfileWeight()

Return the DMS sensor weight

getProfilingTypeback to summary
public String getProfilingType()

This method is used to get the type of profiling. Possible values are: "EclipseLink" or "None".

getSequencePreallocationSizeback to summary
public int getSequencePreallocationSize()

Method returns the value of the Sequence Preallocation size

getSessionNameback to summary
public String getSessionName()

Answer the name of the EclipseLink session this MBean represents.

getSessionTypeback to summary
public String getSessionType()

Answer the type of the EclipseLink session this MBean represents. Types include: "ServerSession", "DatabaseSession", "SessionBroker"

getShouldCacheAllStatementsback to summary
public boolean getShouldCacheAllStatements()

Returns if statements should be cached or not

getShouldLogMessagesback to summary
public boolean getShouldLogMessages()

This method is used to determine if messages should be logged by the session

getShouldLogPerformanceProfilerback to summary
public boolean getShouldLogPerformanceProfiler()

This method is used to determine if we should be logging when using the Performance Profiler

getShouldProfilePerformanceback to summary
public boolean getShouldProfilePerformance()

This method will return if profiling is turned on or not

getSizeForPoolback to summary
public List<E> getSizeForPool(String poolName)

This method will retrieve the size of a particular connection pool

getStatementCacheSizeback to summary
public int getStatementCacheSize()

Returns the statement cache size. Only valid if statements are being cached

getStringBindingSizeback to summary
public 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).

getTimeConnectionEstablishedback to summary
public Long getTimeConnectionEstablished()

This method will return a long indicating the exact time in Milliseconds that the session connected to the database.

getUsesByteArrayBindingback to summary
public Boolean getUsesByteArrayBinding()

Shows if Byte Array Binding is turned on or not

getUsesEclipseLinkProfilingback to summary
public Boolean getUsesEclipseLinkProfiling()

This method answers true if EclipseLink Performance Profiling is on.

getUsesJDBCBatchWritingback to summary
public Boolean getUsesJDBCBatchWriting()

This method will return if batchWriting is in use or not.

getUsesNativeSQLback to summary
public Boolean getUsesNativeSQL()

Shows if native SQL is being used

getUsesStreamsForBindingback to summary
public Boolean getUsesStreamsForBinding()

This method indicates if streams are being used for binding

getUsesStringBindingback to summary
public Boolean getUsesStringBinding()

This method indicates if Strings are being bound

initializeIdentityMapsback to summary
public void initializeIdentityMaps(String[] classNames) throws ClassNotFoundException

This method is used to initialize the identity maps specified by the Vector of classNames.

Parameters
classNames:String[]

String[] of fully qualified classnames identifying the identity maps to initialize

invalidateAllIdentityMapsback to summary
public void invalidateAllIdentityMaps()

This method is used to invalidate the identity maps in the session.

invalidateIdentityMapback to summary
public void invalidateIdentityMap(String className) throws ClassNotFoundException

This method is used to invalidate the identity maps specified by className. This does not invalidate the children identity maps

Parameters
className:String

the fully qualified classname identifying the identity map to invalidate

invalidateIdentityMapback to summary
public void invalidateIdentityMap(String className, Boolean recurse) throws ClassNotFoundException

This method is used to invalidate the identity maps specified by className.

Parameters
className:String

the fully qualified classname identifying the identity map to invalidate

recurse:Boolean

Boolean indicating if we want to invalidate the children identity maps too

invalidateIdentityMapsback to summary
public void invalidateIdentityMaps(String[] classNamesParam, Boolean recurse) throws ClassNotFoundException

This method is used to invalidate the identity maps specified by the String[] of classNames.

Parameters
classNamesParam:String[]

String[] of fully qualified classnames identifying the identity maps to invalidate

recurse:Boolean

Boolean indicating if we want to invalidate the children identity maps too

isJPASessionback to summary
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.

printAllIdentityMapTypesback to summary
public void printAllIdentityMapTypes()

This method will log the types of Identity Maps in the session.

printAvailableConnectionPoolsback to summary
public void printAvailableConnectionPools()

This method will print the available Connection pools to the SessionLog.

printClassesInSessionback to summary
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 form this list as they do not have separate identity maps.

printIdentityMapLocksback to summary
public void printIdentityMapLocks()

This method will log the instance level locks in all Identity Maps in the session.

printIdentityMapLocksback to summary
public void printIdentityMapLocks(String registeredClassName)

This method will log the instance level locks in the Identity Map for the given class in the session.

printObjectsInIdentityMapback to summary
public void printObjectsInIdentityMap(String className) throws ClassNotFoundException

This method will log the objects in the Identity Map. There is no particular order to these objects.

Parameters
className:String

the fully qualified classname identifying the identity map

Exceptions
ClassNotFoundException:
if thrown then the IdentityMap for that class name could not be found
printObjectsInIdentityMapsback to summary
public void printObjectsInIdentityMaps()

This method will log all objects in all Identity Maps in the session.

printProfileSummaryback to summary
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.

printProfileSummaryByClassback to summary
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.

printProfileSummaryByQueryback to summary
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.

resetAllConnectionsback to summary
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

setCurrentEclipseLinkLogLevelback to summary
public void setCurrentEclipseLinkLogLevel(String newLevel)

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:String

new log level

setProfileWeightback to summary
public void setProfileWeight(int size)

Set the DMS sensor weight

setProfilingTypeback to summary
public void setProfilingType(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".

setSequencePreallocationSizeback to summary
public void setSequencePreallocationSize(int size)

This method provides access for setting the sequence pre-allocation size

setShouldCacheAllStatementsback to summary
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

setShouldLogPerformanceProfilerback to summary
public void setShouldLogPerformanceProfiler(boolean shouldLogPerformanceProfiler)

This method is used to turn on Profile logging when using the Performance Profiler

setShouldProfilePerformanceback to summary
public void setShouldProfilePerformance(boolean shouldProfile)

This method is used to turn on Performance Profiling

setStatementCacheSizeback to summary
public void setStatementCacheSize(int size)

Used to set the statement cache size. This is only valid if using cached Statements

setUseEclipseLinkProfilingback to summary
public void setUseEclipseLinkProfiling()

This method is used to turn on EclipseLink Performance Profiling

setUseNoProfilingback to summary
public void setUseNoProfiling()

This method is used to turn off all Performance Profiling, DMS or EclipseLink.

updatePoolSizeback to summary
public void updatePoolSize(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