Top Description Fields Constructors Methods
org.eclipse.persistence.platform.server

public abstract Class ServerPlatformBase

extends Object
implements ServerPlatform
Class Inheritance
All Implemented Interfaces
org.eclipse.persistence.platform.server.ServerPlatform
Known Direct Subclasses
org.eclipse.persistence.platform.server.sap.SAPNetWeaver_7_1_Platform, org.eclipse.persistence.platform.server.CustomServerPlatform, org.eclipse.persistence.platform.server.JMXServerPlatformBase, org.eclipse.persistence.platform.server.NoServerPlatform
Imports
java.security.AccessController, .PrivilegedActionException, java.sql.SQLException, java.util.concurrent.ExecutorService, .Executors, javax.naming.Context, .InitialContext, .NamingException, jakarta.persistence.spi.PersistenceUnitInfo, org.eclipse.persistence.exceptions.ValidationException, org.eclipse.persistence.internal.databaseaccess.Accessor, org.eclipse.persistence.internal.helper.JPAClassLoaderHolder, org.eclipse.persistence.internal.localization.ToStringLocalization, org.eclipse.persistence.internal.security.PrivilegedAccessHelper, .PrivilegedNewInstanceFromClass, org.eclipse.persistence.internal.sessions.AbstractSession, .DatabaseSessionImpl, org.eclipse.persistence.logging.SessionLog, org.eclipse.persistence.sessions.DatabaseSession, .ExternalTransactionController, .JNDIConnector, org.eclipse.persistence.transaction.JTA11TransactionController

PUBLIC: Implementation of org.eclipse.persistence.platform.server.ServerPlatform

This is the abstract superclass of all platforms for all servers. 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 user wants a different external transaction controller class or to provide some different behavior than the provided ServerPlatform(s), we recommend subclassing org.eclipse.persistence.platform.server.ServerPlatformBase (or a subclass), and overriding:

for the desired behavior.
See Also
org.eclipse.persistence.platform.server.ServerPlatform

Field Summary

Modifier and TypeField and Description
private DatabaseSession
databaseSession

INTERNAL: databaseSession: The instance of DatabaseSession that I am helping.

public static final String
DEFAULT_SERVER_NAME_AND_VERSION

INTERNAL: Answer "unknown" as a default for platforms that do not implement getModuleName()

protected Class<? extends ExternalTransactionController>
externalTransactionControllerClass

externalTransactionControllerClass: This is a user-specifiable class defining the class of external transaction controller to be set into the DatabaseSession

private boolean
isCMP

INTERNAL: isCMP: true if the container created the server platform, because we're configured for CMP.

private boolean
isJTAEnabled

INTERNAL: isJTAEnabled: Determines if the external transaction controller will be populated into the DatabaseSession at runtime

private boolean
isRuntimeServicesEnabled

INTERNAL: isRuntimeServicesEnabled: Determines if the JMX Runtime Services will be deployed at runtime

public static final String
JMX_REGISTER_DEV_MBEAN_PROPERTY

This System property "eclipselink.register.dev.mbean" when set to true will enable registration/unregistration of the DevelopmentServices MBean

public static final String
JMX_REGISTER_RUN_MBEAN_PROPERTY

This System property "eclipselink.register.run.mbean" when set to true will enable registration/unregistration of the RuntimeServices MBean

protected String
serverNameAndVersion

INTERNAL: Server name and version.

protected boolean
protected boolean
protected volatile ExecutorService
threadPool

Allow pooling of threads for asynchronous processing in RCM and other areas.

protected int
threadPoolSize

Allow the thread pool size to be configured.

Constructor Summary

AccessConstructor and Description
protected
ServerPlatformBase(DatabaseSession
The instance of DatabaseSession that I am helping.
newDatabaseSession
)

INTERNAL: Default Constructor: Initialize so that runtime services and JTA are enabled.

Method Summary

Modifier and TypeMethod and Description
public void
clearStatementCache(Connection connection)

Implements org.eclipse.persistence.platform.server.ServerPlatform.clearStatementCache.

INTERNAL: Clears statement cache of the wrapper connection.
public void
configureProfiler(Session session)

INTERNAL: configureProfiler(): set default performance profiler used in this server.

public void
disableJTA()

Implements org.eclipse.persistence.platform.server.ServerPlatform.disableJTA.

INTERNAL: disableJTA(): Configure the receiver such that my external transaction controller class will be ignored, and will NOT be used to populate DatabaseSession's external transaction controller class at runtime.
public void
disableRuntimeServices()

Implements org.eclipse.persistence.platform.server.ServerPlatform.disableRuntimeServices.

INTERNAL: disableRuntimeServices(): Configure the receiver such that no JMX/MBean will be registered to provide runtime services for my DatabaseSession at runtime.
public void
enableRuntimeServices()

INTERNAL: enableRuntimeServices(): Configure the receiver such that JMX/MBeans will be registered to provide runtime services for my DatabaseSession at runtime.

protected void
ensureNotLoggedIn()

INTERNAL: Make sure that the DatabaseSession has not logged in yet.

protected void
externalTransactionControllerNotNullWarning()

INTERNAL: externalTransactionControllerNotNullWarning(): When the external transaction controller is being initialized, we warn the developer if they have already defined the external transaction controller in some way other than subclassing ServerPlatformBase.

public DatabaseSession

Returns:

DatabaseSession databaseSession
getDatabaseSession
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getDatabaseSession.

INTERNAL: getDatabaseSession(): Answer the instance of DatabaseSession the receiver is helping.
public abstract Class<? extends ExternalTransactionController>

Returns:

Class externalTransactionControllerClass
getExternalTransactionControllerClass
()

Redeclares org.eclipse.persistence.platform.server.ServerPlatform.getExternalTransactionControllerClass.

INTERNAL: getExternalTransactionControllerClass(): Answer the class of external transaction controller to use For this server platform.
public int

Returns:

Return JNDIConnector.COMPOSITE_NAME_LOOKUP.
getJNDIConnectorLookupType
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getJNDIConnectorLookupType.

INTERNAL: Get JNDIConnector lookupType value for this platform.
public String

Returns:

String moduleName
getModuleName
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getModuleName.

INTERNAL: getModuleName(): Answer the name of the module (jar name) that my session is associated with.
public JPAClassLoaderHolder
getNewTempClassLoader(PersistenceUnitInfo
- the persistence unit info
puInfo
)

Implements org.eclipse.persistence.platform.server.ServerPlatform.getNewTempClassLoader.

INTERNAL: JIRA EJBTHREE-572 requires that we use the real classLoader in place of the getNewTempClassLoader().
public String
public SessionLog

Returns:

org.eclipse.persistence.logging.SessionLog
getServerLog
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getServerLog.

INTERNAL: getServerLog(): Return the ServerLog for this platform Return the default ServerLog in the base
public String

Returns:

String serverNameAndVersion
getServerNameAndVersion
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getServerNameAndVersion.

PUBLIC: getServerNameAndVersion(): Talk to the relevant server class library, and get the server name and version
public ExecutorService
getThreadPool()

INTERNAL: Return the thread pool, initializing if required.

public int
public void
initializeExternalTransactionController()

Implements org.eclipse.persistence.platform.server.ServerPlatform.initializeExternalTransactionController.

INTERNAL: initializeExternalTransactionController(): Populate the DatabaseSession's external transaction controller with an instance of my transaction controller class.
protected void
initializeServerNameAndVersion()

INTERNAL: initializeServerNameAndVersion(): Talk to the relevant server class library, and get the server name and version Default is "unknown"

public boolean

Returns:

boolean
isCMP
()

INTERNAL: isCMP(): Answer true if we're in the context of CMP (i.e. the container created me)

public boolean

Returns:

value of true when JTA 1.1 API is available or false otherwise.
isJTA11
()

INTERNAL: Check whether JTA 1.1 API is available.

public boolean

Returns:

boolean isJTAEnabled
isJTAEnabled
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.isJTAEnabled.

INTERNAL: isJTAEnabled(): Answer true if the DatabaseSession's external transaction controller class will be populated with my transaction controller class at runtime.
public boolean

Returns:

boolean isRuntimeServicesEnabled
isRuntimeServicesEnabled
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.isRuntimeServicesEnabled.

INTERNAL: isRuntimeServicesEnabled(): Answer true if the JMX/MBean providing runtime services for the receiver's DatabaseSession will be deployed at runtime.
public boolean
isRuntimeServicesEnabledDefault()

Implements org.eclipse.persistence.platform.server.ServerPlatform.isRuntimeServicesEnabledDefault.

INTERNAL: isRuntimeServicesEnabledDefault(): Answer true if the JMX/MBean providing runtime services for the receiver's DatabaseSession will be deployed at runtime.
public void
launchContainerRunnable(Runnable
the instance of runnable to be "started"
runnable
)

Implements org.eclipse.persistence.platform.server.ServerPlatform.launchContainerRunnable.

INTERNAL: launchContainerRunnable(Runnable runnable): Use the container library to start the provided Runnable.
public void
registerMBean()

Implements org.eclipse.persistence.platform.server.ServerPlatform.registerMBean.

INTERNAL: registerMBean(): Create and deploy the JMX MBean to provide runtime services for my databaseSession.
public void
serverSpecificRegisterMBean()

INTERNAL: serverSpecificRegisterMBean(): Server specific implementation of the creation and deployment of the JMX MBean to provide runtime services for my databaseSession.

public void
serverSpecificUnregisterMBean()

INTERNAL: serverSpecificUnregisterMBean(): Server specific implementation of the unregistration of the JMX MBean from its server.

public void
setExternalTransactionControllerClass(Class<? extends ExternalTransactionController> newClass)

Implements org.eclipse.persistence.platform.server.ServerPlatform.setExternalTransactionControllerClass.

INTERNAL: setExternalTransactionControllerClass(Class newClass): Set the class of external transaction controller to use in the DatabaseSession.
public void
setIsCMP(boolean isThisCMP)

INTERNAL: setIsCMP(boolean): Define whether or not we're in the context of CMP (i.e. the container created me)

public void
setThreadPool(ExecutorService threadPool)

INTERNAL: Set the thread pool to use.

public void
public boolean

Returns:

boolean
shouldUseDriverManager
()

Implements org.eclipse.persistence.platform.server.ServerPlatform.shouldUseDriverManager.

INTERNAL: shouldUseDriverManager(): Indicates whether DriverManager should be used while connecting DefaultConnector.
public void
shutdown()

Implements org.eclipse.persistence.platform.server.ServerPlatform.shutdown.

INTERNAL: perform any require shutdown tasks.
public void
unregisterMBean()

Implements org.eclipse.persistence.platform.server.ServerPlatform.unregisterMBean.

INTERNAL: unregisterMBean(): Unregister the JMX MBean that was providing runtime services for my databaseSession.
public Connection
unwrapConnection(Connection connection)

Implements org.eclipse.persistence.platform.server.ServerPlatform.unwrapConnection.

INTERNAL: This method is used to unwrap the connection wrapped by the application server.
public boolean
usesPartitions()

Implements org.eclipse.persistence.platform.server.ServerPlatform.usesPartitions.

INTERNAL: Some servers may support partitioning
public boolean
wasFailureCommunicationBased(SQLException exception, Accessor connection, AbstractSession sessionForProfile)

Implements org.eclipse.persistence.platform.server.ServerPlatform.wasFailureCommunicationBased.

INTERNAL: A call to this method will perform a platform based check on the connection and exception error code to determine if the connection is still valid or if a communication error has occurred.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

databaseSessionback to summary
private DatabaseSession databaseSession

INTERNAL: databaseSession: The instance of DatabaseSession that I am helping.

DEFAULT_SERVER_NAME_AND_VERSIONback to summary
public static final String DEFAULT_SERVER_NAME_AND_VERSION

INTERNAL: Answer "unknown" as a default for platforms that do not implement getModuleName()

externalTransactionControllerClassback to summary
protected Class<? extends ExternalTransactionController> externalTransactionControllerClass

externalTransactionControllerClass: This is a user-specifiable class defining the class of external transaction controller to be set into the DatabaseSession

isCMPback to summary
private boolean isCMP

INTERNAL: isCMP: true if the container created the server platform, because we're configured for CMP.

isJTAEnabledback to summary
private boolean isJTAEnabled

INTERNAL: isJTAEnabled: Determines if the external transaction controller will be populated into the DatabaseSession at runtime

isRuntimeServicesEnabledback to summary
private boolean isRuntimeServicesEnabled

INTERNAL: isRuntimeServicesEnabled: Determines if the JMX Runtime Services will be deployed at runtime

JMX_REGISTER_DEV_MBEAN_PROPERTYback to summary
public static final String JMX_REGISTER_DEV_MBEAN_PROPERTY

This System property "eclipselink.register.dev.mbean" when set to true will enable registration/unregistration of the DevelopmentServices MBean

JMX_REGISTER_RUN_MBEAN_PROPERTYback to summary
public static final String JMX_REGISTER_RUN_MBEAN_PROPERTY

This System property "eclipselink.register.run.mbean" when set to true will enable registration/unregistration of the RuntimeServices MBean

serverNameAndVersionback to summary
protected String serverNameAndVersion

INTERNAL: Server name and version.

shouldRegisterDevelopmentBeanback to summary
protected boolean shouldRegisterDevelopmentBean
shouldRegisterRuntimeBeanback to summary
protected boolean shouldRegisterRuntimeBean
threadPoolback to summary
protected volatile ExecutorService threadPool

Allow pooling of threads for asynchronous processing in RCM and other areas.

threadPoolSizeback to summary
protected int threadPoolSize

Allow the thread pool size to be configured.

Constructor Detail

ServerPlatformBaseback to summary
protected ServerPlatformBase(DatabaseSession newDatabaseSession)

INTERNAL: Default Constructor: Initialize so that runtime services and JTA are enabled. Set the DatabaseSession that I will be helping.

Parameters
newDatabaseSession:DatabaseSession

The instance of DatabaseSession that I am helping.

Method Detail

clearStatementCacheback to summary
public void clearStatementCache(Connection connection)

Implements org.eclipse.persistence.platform.server.ServerPlatform.clearStatementCache.

INTERNAL: Clears statement cache of the wrapper connection. Required by Oracle proxy authentication: currently connection statement cache becomes invalid on switching to/from proxy session. This method is called by OracleJDBC_10_1_0_2ProxyConnectionCustomizer before opening proxy session and before closing it.

Annotations
@Override
configureProfilerback to summary
public void configureProfiler(Session session)

INTERNAL: configureProfiler(): set default performance profiler used in this server.

disableJTAback to summary
public void disableJTA()

Implements org.eclipse.persistence.platform.server.ServerPlatform.disableJTA.

INTERNAL: disableJTA(): Configure the receiver such that my external transaction controller class will be ignored, and will NOT be used to populate DatabaseSession's external transaction controller class at runtime. TopLink will NOT be configured to register for callbacks for beforeCompletion and afterCompletion.

Annotations
@Override
See Also
getExternalTransactionControllerClass(), isJTAEnabled()
disableRuntimeServicesback to summary
public void disableRuntimeServices()

Implements org.eclipse.persistence.platform.server.ServerPlatform.disableRuntimeServices.

INTERNAL: disableRuntimeServices(): Configure the receiver such that no JMX/MBean will be registered to provide runtime services for my DatabaseSession at runtime.

Annotations
@Override
See Also
isRuntimeServicesEnabled()
enableRuntimeServicesback to summary
public void enableRuntimeServices()

INTERNAL: enableRuntimeServices(): Configure the receiver such that JMX/MBeans will be registered to provide runtime services for my DatabaseSession at runtime.

Since
EclipseLink 2.2.0
See Also
isRuntimeServicesEnabled()
ensureNotLoggedInback to summary
protected void ensureNotLoggedIn()

INTERNAL: Make sure that the DatabaseSession has not logged in yet. Throw a ValidationException if we have.

externalTransactionControllerNotNullWarningback to summary
protected void externalTransactionControllerNotNullWarning()

INTERNAL: externalTransactionControllerNotNullWarning(): When the external transaction controller is being initialized, we warn the developer if they have already defined the external transaction controller in some way other than subclassing ServerPlatformBase.

See Also
getExternalTransactionControllerClass()
getDatabaseSessionback to summary
public DatabaseSession getDatabaseSession()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getDatabaseSession.

INTERNAL: getDatabaseSession(): Answer the instance of DatabaseSession the receiver is helping.

Returns:DatabaseSession

DatabaseSession databaseSession

Annotations
@Override
getExternalTransactionControllerClassback to summary
public abstract Class<? extends ExternalTransactionController> getExternalTransactionControllerClass()

Redeclares org.eclipse.persistence.platform.server.ServerPlatform.getExternalTransactionControllerClass.

INTERNAL: getExternalTransactionControllerClass(): Answer the class of external transaction controller to use For this server platform. This is read-only. If the user wants a different external transaction controller class than the provided ServerPlatform(s), we recommend subclassing org.eclipse.persistence.platform.server.ServerPlatformBase (or a subclass), and overriding: ServerPlatformBase.getExternalTransactionControllerClass() for the desired behavior.

Returns:Class<? extends ExternalTransactionController>

Class externalTransactionControllerClass

Annotations
@Override
See Also
org.eclipse.persistence.transaction.JTATransactionController, isJTAEnabled(), disableJTA()
getJNDIConnectorLookupTypeback to summary
public int getJNDIConnectorLookupType()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getJNDIConnectorLookupType.

Doc from org.eclipse.persistence.platform.server.ServerPlatform.getJNDIConnectorLookupType.

INTERNAL: Get JNDIConnector lookupType value for this platform.

Returns:int

Return JNDIConnector.COMPOSITE_NAME_LOOKUP.

Annotations
@Override
getModuleNameback to summary
public String getModuleName()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getModuleName.

INTERNAL: getModuleName(): Answer the name of the module (jar name) that my session is associated with. Answer "unknown" if there is no module name available. Default behavior is to return "unknown".

Returns:String

String moduleName

Annotations
@Override
getNewTempClassLoaderback to summary
public JPAClassLoaderHolder getNewTempClassLoader(PersistenceUnitInfo puInfo)

Implements org.eclipse.persistence.platform.server.ServerPlatform.getNewTempClassLoader.

Doc from org.eclipse.persistence.platform.server.ServerPlatform.getNewTempClassLoader.

INTERNAL: JIRA EJBTHREE-572 requires that we use the real classLoader in place of the getNewTempClassLoader(). The override code should stay in place until the UCL3 loader does not throw a NPE on loadClass()

Parameters
puInfo:PersistenceUnitInfo

- the persistence unit info

Returns:JPAClassLoaderHolder

ClassLoaderHolder - a composite object containing the classLoader and the flag that is true if the classLoader returned is temporary

Annotations
@Override
getPartitionIDback to summary
public String getPartitionID()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getPartitionID.

Doc from org.eclipse.persistence.platform.server.ServerPlatform.getPartitionID.

INTERNAL: Get Partition ID.

Returns:String

partition ID

Annotations
@Override
getServerLogback to summary
public SessionLog getServerLog()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getServerLog.

INTERNAL: getServerLog(): Return the ServerLog for this platform Return the default ServerLog in the base

Returns:SessionLog

org.eclipse.persistence.logging.SessionLog

Annotations
@Override
getServerNameAndVersionback to summary
public String getServerNameAndVersion()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getServerNameAndVersion.

PUBLIC: getServerNameAndVersion(): Talk to the relevant server class library, and get the server name and version

Returns:String

String serverNameAndVersion

Annotations
@Override
getThreadPoolback to summary
public ExecutorService getThreadPool()

INTERNAL: Return the thread pool, initializing if required.

getThreadPoolSizeback to summary
public int getThreadPoolSize()

Implements org.eclipse.persistence.platform.server.ServerPlatform.getThreadPoolSize.

Return the thread pool size.

Annotations
@Override
initializeExternalTransactionControllerback to summary
public void initializeExternalTransactionController()

Implements org.eclipse.persistence.platform.server.ServerPlatform.initializeExternalTransactionController.

INTERNAL: initializeExternalTransactionController(): Populate the DatabaseSession's external transaction controller with an instance of my transaction controller class. To change the external transaction controller class, we recommend creating a subclass of ServerPlatformBase, and overriding getExternalTransactionControllerClass().

Annotations
@Override
initializeServerNameAndVersionback to summary
protected void initializeServerNameAndVersion()

INTERNAL: initializeServerNameAndVersion(): Talk to the relevant server class library, and get the server name and version Default is "unknown"

isCMPback to summary
public boolean isCMP()

INTERNAL: isCMP(): Answer true if we're in the context of CMP (i.e. the container created me)

Returns:boolean

boolean

isJTA11back to summary
public boolean isJTA11()

INTERNAL: Check whether JTA 1.1 API is available.

Returns:boolean

value of true when JTA 1.1 API is available or false otherwise.

isJTAEnabledback to summary
public boolean isJTAEnabled()

Implements org.eclipse.persistence.platform.server.ServerPlatform.isJTAEnabled.

INTERNAL: isJTAEnabled(): Answer true if the DatabaseSession's external transaction controller class will be populated with my transaction controller class at runtime. If the transaction controller class is overridden in the DatabaseSession, my transaction controller class will be ignored. Answer true if TopLink will be configured to register for callbacks for beforeCompletion and afterCompletion.

Returns:boolean

boolean isJTAEnabled

Annotations
@Override
See Also
getExternalTransactionControllerClass(), disableJTA()
isRuntimeServicesEnabledback to summary
public boolean isRuntimeServicesEnabled()

Implements org.eclipse.persistence.platform.server.ServerPlatform.isRuntimeServicesEnabled.

INTERNAL: isRuntimeServicesEnabled(): Answer true if the JMX/MBean providing runtime services for the receiver's DatabaseSession will be deployed at runtime.

Returns:boolean

boolean isRuntimeServicesEnabled

Annotations
@Override
See Also
disableRuntimeServices()
isRuntimeServicesEnabledDefaultback to summary
public boolean isRuntimeServicesEnabledDefault()

Implements org.eclipse.persistence.platform.server.ServerPlatform.isRuntimeServicesEnabledDefault.

INTERNAL: isRuntimeServicesEnabledDefault(): Answer true if the JMX/MBean providing runtime services for the receiver's DatabaseSession will be deployed at runtime. Provide the default value for isRuntimeServicesEnabled() for a ServerPlatform. By default this is false but some platforms can choose to have MBeans deployed by default.

Annotations
@Override
launchContainerRunnableback to summary
public void launchContainerRunnable(Runnable runnable)

Implements org.eclipse.persistence.platform.server.ServerPlatform.launchContainerRunnable.

INTERNAL: launchContainerRunnable(Runnable runnable): Use the container library to start the provided Runnable. Default behavior is to use Thread(runnable).start()

Parameters
runnable:Runnable

the instance of runnable to be "started"

Annotations
@Override
registerMBeanback to summary
public void registerMBean()

Implements org.eclipse.persistence.platform.server.ServerPlatform.registerMBean.

INTERNAL: registerMBean(): Create and deploy the JMX MBean to provide runtime services for my databaseSession. Default is to do nothing.

Annotations
@Override
See Also
isRuntimeServicesEnabled(), disableRuntimeServices(), unregisterMBean()
serverSpecificRegisterMBeanback to summary
public void serverSpecificRegisterMBean()

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.

See Also
isRuntimeServicesEnabled(), disableRuntimeServices(), registerMBean()
serverSpecificUnregisterMBeanback to summary
public void serverSpecificUnregisterMBean()

INTERNAL: serverSpecificUnregisterMBean(): Server specific implementation of the unregistration of the JMX MBean from its server. Default is to do nothing. This should be subclassed if required.

See Also
isRuntimeServicesEnabled(), disableRuntimeServices()
setExternalTransactionControllerClassback to summary
public void setExternalTransactionControllerClass(Class<? extends ExternalTransactionController> newClass)

Implements org.eclipse.persistence.platform.server.ServerPlatform.setExternalTransactionControllerClass.

INTERNAL: setExternalTransactionControllerClass(Class newClass): Set the class of external transaction controller to use in the DatabaseSession. This is defined by the user via the sessions.xml.

Annotations
@Override
See Also
org.eclipse.persistence.transaction.JTATransactionController, isJTAEnabled(), disableJTA(), initializeExternalTransactionController()
setIsCMPback to summary
public void setIsCMP(boolean isThisCMP)

INTERNAL: setIsCMP(boolean): Define whether or not we're in the context of CMP (i.e. the container created me)

setThreadPoolback to summary
public void setThreadPool(ExecutorService threadPool)

INTERNAL: Set the thread pool to use.

setThreadPoolSizeback to summary
public void setThreadPoolSize(int threadPoolSize)

Implements org.eclipse.persistence.platform.server.ServerPlatform.setThreadPoolSize.

Set the thread pool size.

Annotations
@Override
shouldUseDriverManagerback to summary
public boolean shouldUseDriverManager()

Implements org.eclipse.persistence.platform.server.ServerPlatform.shouldUseDriverManager.

INTERNAL: shouldUseDriverManager(): Indicates whether DriverManager should be used while connecting DefaultConnector.

Returns:boolean

boolean

Annotations
@Override
shutdownback to summary
public void shutdown()

Implements org.eclipse.persistence.platform.server.ServerPlatform.shutdown.

INTERNAL: perform any require shutdown tasks.

Annotations
@Override
unregisterMBeanback to summary
public void unregisterMBean()

Implements org.eclipse.persistence.platform.server.ServerPlatform.unregisterMBean.

INTERNAL: unregisterMBean(): Unregister the JMX MBean that was providing runtime services for my databaseSession.

Annotations
@Override
See Also
isRuntimeServicesEnabled(), disableRuntimeServices(), registerMBean()
unwrapConnectionback to summary
public Connection unwrapConnection(Connection connection)

Implements org.eclipse.persistence.platform.server.ServerPlatform.unwrapConnection.

INTERNAL: This method is used to unwrap the connection wrapped by the application server. TopLink needs this unwrapped connection for certain database vendor specific support. (i.e. TIMESTAMPTZ,NCHAR,XMLTYPE) Be default we will use the connection's metadata to try to get the connection

Annotations
@Override
usesPartitionsback to summary
public boolean usesPartitions()

Implements org.eclipse.persistence.platform.server.ServerPlatform.usesPartitions.

Doc from org.eclipse.persistence.platform.server.ServerPlatform.usesPartitions.

INTERNAL: Some servers may support partitioning

Returns:boolean

true if server supports partitions, false otherwise

Annotations
@Override
wasFailureCommunicationBasedback to summary
public boolean wasFailureCommunicationBased(SQLException exception, Accessor connection, AbstractSession sessionForProfile)

Implements org.eclipse.persistence.platform.server.ServerPlatform.wasFailureCommunicationBased.

INTERNAL: A call to this method will perform a platform based check on the connection and exception error code to determine if the connection is still valid or if a communication error has occurred. If a communication error has occurred then the query may be retried. If this platform is unable to determine if the error was communication based it will return false forcing the error to be thrown to the user.

Annotations
@Override