This is the abstract superclass of all platforms for all servers that contain a subclass that implements the JMXEnabledPlatform interface. Each DatabaseSession contains an instance of the receiver, to help the DatabaseSession determine:
Subclasses already exist to provide configurations for Oc4J, WebLogic, JBoss, NetWeaver, GlassFish and WebSphere.
If the versioned platform subclass is JMX enabled by EclipseLink (registers MBeans) then that server platform must implement the JMXEnabledPlatform interface To provide some different behavior than the provided ServerPlatform(s), we recommend subclassing org.eclipse.persistence.platform.server.JMXServerPlatformBase (or a subclass), and overriding:
org.eclipse.persistence.platform.server.ServerPlatformBase
| Modifier and Type | Field and Description |
|---|---|
| protected static String | |
| protected static String | |
| protected static String | APP_SERVER_CLASSLOADER_MODULE_EJB_SEARCH_STRING_PREFIX
Override by subclass: Search String in application server session for ejb modules |
| protected static String | |
| protected static String | APP_SERVER_CLASSLOADER_MODULE_WAR_SEARCH_STRING_PREFIX
Override by subclass: Search String in application server session for war modules |
| private static String | APP_SERVER_CLASSLOADER_OVERRIDE_DEFAULT
Override by subclass: Search String in application server ClassLoader for the application:persistence_unit name |
| private String | applicationName
applicationName determination is available during MBean registration only |
| private static final String | JMX_JNDI_RUNTIME_REGISTER
This JNDI address is for JMX MBean registration |
| private static final String | JMX_JNDI_RUNTIME_UNREGISTER
This JNDI address is for JMX MBean unregistration |
| public static final int | JMX_MBEANSERVER_INDEX_DEFAULT_FOR_MULTIPLE_SERVERS
The default indexed MBeanServer instance to use when multiple MBeanServer instances exist on the platform - usually only in JBoss |
| public static final String | JMX_REGISTRATION_PREFIX
This is the prefix for all MBeans that are registered with their specific session name appended |
| protected MBeanServer | mBeanServer
Cache the ServerPlatform MBeanServer for performance |
| private String | moduleName
moduleName determination is available during MBean registration only |
| protected static final String | OVERRIDE_JMX_APPLICATIONNAME_PROPERTY
This persistence.xml or sessions.xml property is used to override the applicationName |
| protected static final String | OVERRIDE_JMX_MODULENAME_PROPERTY
This persistence.xml or sessions.xml property is used to override the moduleName |
| private MBeanRuntimeServicesMBean | runtimeServicesMBean
cache the RuntimeServices MBean - during platform construction for JMXEnabledPlatform implementors |
| Access | Constructor and Description |
|---|---|
| protected | JMXServerPlatformBase(DatabaseSession
The instance of DatabaseSession that I am helping. newDatabaseSession)INTERNAL: Default Constructor: Initialize so that runtime services and JTA are enabled. |
| Modifier and Type | Method and Description |
|---|---|
| protected AbstractSession | |
| protected String | getApplicationName(boolean enableDefault)
INTERNAL: Lazy initialize the application name by first checking for a persistence.xml property override and then deferring to a default name in the absence of a platform override of this function |
| public String | Returns: String applicationNameINTERNAL: getApplicationName(): Answer the name of the module (EAR name) that this session is associated with. |
| public MBeanServer | Returns: the JMX specification MBeanServerINTERNAL: Return the MBeanServer to be used for MBean registration and deregistration. |
| protected String | |
| protected String | |
| public String | Returns: String moduleNameOverrides org. Implements org. |
| protected MBeanRuntimeServicesMBean | |
| protected void | initializeApplicationNameAndModuleName()
INTERNAL: Get the applicationName and moduleName from the application server. |
| public void | serverSpecificRegisterMBean()
Overrides org. |
| public void | serverSpecificUnregisterMBean()
Overrides org. |
| public void | |
| protected void | |
| protected void | setRuntimeServicesMBean(MBeanRuntimeServicesMBean runtimeServicesMBean)
INTERNAL: Set the cached server specific services MBean |
| APP_SERVER_CLASSLOADER_APPLICATION_PU_SEARCH_STRING_POSTFIX | back to summary |
|---|---|
| protected static String APP_SERVER_CLASSLOADER_APPLICATION_PU_SEARCH_STRING_POSTFIX | |
| APP_SERVER_CLASSLOADER_APPLICATION_PU_SEARCH_STRING_PREFIX | back to summary |
|---|---|
| protected static String APP_SERVER_CLASSLOADER_APPLICATION_PU_SEARCH_STRING_PREFIX | |
| APP_SERVER_CLASSLOADER_MODULE_EJB_SEARCH_STRING_PREFIX | back to summary |
|---|---|
| protected static String APP_SERVER_CLASSLOADER_MODULE_EJB_SEARCH_STRING_PREFIX Override by subclass: Search String in application server session for ejb modules | |
| APP_SERVER_CLASSLOADER_MODULE_EJB_WAR_SEARCH_STRING_POSTFIX | back to summary |
|---|---|
| protected static String APP_SERVER_CLASSLOADER_MODULE_EJB_WAR_SEARCH_STRING_POSTFIX | |
| APP_SERVER_CLASSLOADER_MODULE_WAR_SEARCH_STRING_PREFIX | back to summary |
|---|---|
| protected static String APP_SERVER_CLASSLOADER_MODULE_WAR_SEARCH_STRING_PREFIX Override by subclass: Search String in application server session for war modules | |
| APP_SERVER_CLASSLOADER_OVERRIDE_DEFAULT | back to summary |
|---|---|
| private static String APP_SERVER_CLASSLOADER_OVERRIDE_DEFAULT Override by subclass: Search String in application server ClassLoader for the application:persistence_unit name | |
| applicationName | back to summary |
|---|---|
| private String applicationName applicationName determination is available during MBean registration only | |
| JMX_JNDI_RUNTIME_REGISTER | back to summary |
|---|---|
| private static final String JMX_JNDI_RUNTIME_REGISTER This JNDI address is for JMX MBean registration | |
| JMX_JNDI_RUNTIME_UNREGISTER | back to summary |
|---|---|
| private static final String JMX_JNDI_RUNTIME_UNREGISTER This JNDI address is for JMX MBean unregistration | |
| JMX_MBEANSERVER_INDEX_DEFAULT_FOR_MULTIPLE_SERVERS | back to summary |
|---|---|
| public static final int JMX_MBEANSERVER_INDEX_DEFAULT_FOR_MULTIPLE_SERVERS The default indexed MBeanServer instance to use when multiple MBeanServer instances exist on the platform - usually only in JBoss | |
| JMX_REGISTRATION_PREFIX | back to summary |
|---|---|
| public static final String JMX_REGISTRATION_PREFIX This is the prefix for all MBeans that are registered with their specific session name appended | |
| mBeanServer | back to summary |
|---|---|
| protected MBeanServer mBeanServer Cache the ServerPlatform MBeanServer for performance | |
| moduleName | back to summary |
|---|---|
| private String moduleName moduleName determination is available during MBean registration only | |
| OVERRIDE_JMX_APPLICATIONNAME_PROPERTY | back to summary |
|---|---|
| protected static final String OVERRIDE_JMX_APPLICATIONNAME_PROPERTY This persistence.xml or sessions.xml property is used to override the applicationName | |
| OVERRIDE_JMX_MODULENAME_PROPERTY | back to summary |
|---|---|
| protected static final String OVERRIDE_JMX_MODULENAME_PROPERTY This persistence.xml or sessions.xml property is used to override the moduleName | |
| runtimeServicesMBean | back to summary |
|---|---|
| private MBeanRuntimeServicesMBean runtimeServicesMBean cache the RuntimeServices MBean - during platform construction for JMXEnabledPlatform implementors | |
| JMXServerPlatformBase | back to summary |
|---|---|
| protected JMXServerPlatformBase(DatabaseSession newDatabaseSession) INTERNAL: Default Constructor: Initialize so that runtime services and JTA are enabled.
| |
| getAbstractSession | back to summary |
|---|---|
| protected AbstractSession getAbstractSession() Return the AbstractSession required to log to the non-platform EclipseLink log. Note The WeblogicEclipseLinkLog defined for the WebLogic platform currently only supports the following logging categories in the categoryMap HashMap {connection=DebugJpaJdbcJdbc, cache=DebugJpaDataCache, transaction=DebugJpaJdbcJdbc, weaver=DebugJpaEnhance, query=DebugJpaQuery, dms=DebugJpaProfile, sequencing=DebugJpaRuntime, properties=DebugJpaRuntime, ejb=DebugJpaRuntime, jpa_metamodel=DebugJpaMetaData, sql=DebugJpaJdbcSql, ejb_or_metadata=DebugJpaMetaData, event=DebugJpaRuntime, server=DebugJpaRuntime, propagation=DebugJpaDataCache} | |
| getApplicationName | back to summary |
|---|---|
| protected String getApplicationName(boolean enableDefault) INTERNAL: Lazy initialize the application name by first checking for a persistence.xml property override and then deferring to a default name in the absence of a platform override of this function | |
| getApplicationName | back to summary |
|---|---|
| public String getApplicationName() INTERNAL: 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" There are 4 levels of implementation. 1) use the property override weblogic.applicationName, or 2) perform a reflective weblogic.work.executeThreadRuntime.getApplicationName() call, or 3) extract the moduleName:persistence_unit from the application classloader string representation, or 3) defer to this superclass - usually return "unknown"
| |
| getMBeanServer | back to summary |
|---|---|
| public MBeanServer getMBeanServer() INTERNAL:
Return the MBeanServer to be used for MBean registration and deregistration.
1) MBeanServerFactory static function - working for 3 of 4 servers WebSphere, JBoss and Glassfish in a generic way
| |
| getMBeanSessionName | back to summary |
|---|---|
| protected String getMBeanSessionName() Remove JMX reserved characters from the session name | |
| getModuleName | back to summary |
|---|---|
| protected String getModuleName(boolean enableDefault) INTERNAL: | |
| getModuleName | back to summary |
|---|---|
| public String getModuleName() Overrides org. Implements org. INTERNAL: 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 JBoss. There are 4 levels of implementation. 1) use the property override jboss.moduleName, or 2) perform a reflective jboss.work.executeThreadRuntime.getModuleName() call, or 3) extract the moduleName:persistence_unit from the server specific classloader string representation, or 3) defer to superclass - usually return "unknown" | |
| getRuntimeServicesMBean | back to summary |
|---|---|
| protected MBeanRuntimeServicesMBean getRuntimeServicesMBean() INTERNAL: Return the cached server specific services MBean | |
| initializeApplicationNameAndModuleName | back to summary |
|---|---|
| protected void initializeApplicationNameAndModuleName() INTERNAL: Get the applicationName and moduleName from the application server. This function does not use reflective API on the application server, instead it parses the database session name for the module name, and the classLoader (from the Platform.conversionManager) toString() for the application name. | |
| serverSpecificRegisterMBean | back to summary |
|---|---|
| public void serverSpecificRegisterMBean() Overrides org. INTERNAL: serverSpecificRegisterMBean(): Server specific implementation of the creation and deployment of the JMX MBean to provide runtime services for my databaseSession. Default is to do nothing. This should be subclassed if required. For platform classes that override the JMXEnabledPlatform - the services MBean is created at platform construction for use during MBean registration here.
| |
| serverSpecificUnregisterMBean | back to summary |
|---|---|
| public void serverSpecificUnregisterMBean() Overrides org. INTERNAL: serverSpecificUnregisterMBean(): Server specific implementation of the de-registration of the JMX MBean from its server during session logout.
| |
| setApplicationName | back to summary |
|---|---|
| public void setApplicationName(String aName) INTERNAL: | |
| setModuleName | back to summary |
|---|---|
| protected void setModuleName(String aName) INTERNAL; | |
| setRuntimeServicesMBean | back to summary |
|---|---|
| protected void setRuntimeServicesMBean(MBeanRuntimeServicesMBean runtimeServicesMBean) INTERNAL: Set the cached server specific services MBean | |