EclipseLink1.0 - 20080707 API Reference

org.eclipse.persistence.services
Class RuntimeServices

java.lang.Object
  extended by org.eclipse.persistence.services.RuntimeServices
Direct Known Subclasses:
MBeanRuntimeServices

public 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
protected  Session session
          stores access to the session object that we are controlling
 
Constructor Summary
RuntimeServices()
          Default Constructor
RuntimeServices(Session session)
          Constructor
 
Method Summary
 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.
 java.util.List getAvailableConnectionPools()
          This method will return the available Connection pools within this Server Session
 java.util.List getClassesInSession()
          This method is used to return those Class Names that have identity Maps in the Session.
 int getLogLevel(java.lang.String category)
           Return the log level
 java.lang.Integer getNumberOfObjectsInIdentityMap(java.lang.String className)
          This method is used to return the number of objects in a particular Identity Map
 java.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.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 weight
 int getSequencePreallocationSize()
          Method returns the value of the Sequence Preallocation size
protected  org.eclipse.persistence.internal.sessions.AbstractSession getSession()
          INTERNAL:
 boolean getShouldCacheAllStatements()
          Returns if statements should be cached or not
 boolean getShouldLogMessages()
          This method is used to determine if logging is turned on
 boolean getShouldLogPerformanceProfiler()
          Method indicates if Performance profile should be logged
 boolean getShouldProfilePerformance()
          This method will return if profiling is turned on or not
 java.util.List getSizeForPool(java.lang.String poolName)
          This method will retrieve the size of a particular connection pool
 int getStatementCacheSize()
          Returns the statement cache size.
 void resetAllConnections()
          This method is used to reset connections from the session to the database.
 void setLogLevel(int level)
           Set the log level
 void setProfileWeight(int weight)
          This method is used to change DMS sensor weight.
 void setSequencePreallocationSize(int size)
          This method provide access for setting the sequence pre-allocation size
 void 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 Profiler
 void setShouldProfilePerformance(boolean shouldProfile)
          This method is used to turn on Performance Profiling
 void setStatementCacheSize(int size)
          Used to set the statement cache size.
 boolean shouldLog(int Level, java.lang.String category)
           Check if a message of the given level would actually be logged.
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

session

protected Session session
stores access to the session object that we are controlling

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:


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


getShouldCacheAllStatements

public boolean getShouldCacheAllStatements()
Returns if statements should be cached or not


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 connections
minSize - 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 pool
maxSize - the maximum number of connections in the pool
minSize - the minimum number of connections in the pool
platform - the fully qualified name of the EclipseLink platform to use with this pool.
driverClassName - the fully qualified name of the JDBC driver class
url - the URL of the database to connect to
userName - the user name to connect to the database with
password - 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:
thrown - then the IdentityMap for that class name could not be found
java.lang.ClassNotFoundException

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:
thrown - then the IdentityMap for that class name could not be found
java.lang.ClassNotFoundException

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:
thrown - then the IdentityMap for that class name could not be found
java.lang.ClassNotFoundException

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:
thrown - then the IdentityMap for that class name could not be found
java.lang.ClassNotFoundException

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 level
category - 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.


EclipseLink1.0 - 20080707 API Reference