Class CDISEPlatform
- All Implemented Interfaces:
org.eclipse.persistence.platform.server.ServerPlatform
JMXServerPlatformBase
that arranges things such that CDI,
not JNDI, will be used to acquire a TransactionManager
and
MBeanServer
.
Most users will not use this class directly, but will supply its
fully-qualified name as the value of the
eclipselink.target-server
Eclipselink JPA extension property in a
META-INF/persistence.xml
file.
For example:
<property name="eclipselink.target-server" value="io.helidon.integrations.cdi.eclipselink.CDISEPlatform"/>
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic @interface
AQualifier
used to designate various things as being related to Eclipselink in some way.static class
AJTATransactionController
whoseCDISEPlatform.TransactionController.acquireTransactionManager()
method uses CDI, not JNDI, to return aTransactionManager
instance. -
Field Summary
Fields inherited from class org.eclipse.persistence.platform.server.JMXServerPlatformBase
APP_SERVER_CLASSLOADER_APPLICATION_PU_SEARCH_STRING_POSTFIX, APP_SERVER_CLASSLOADER_APPLICATION_PU_SEARCH_STRING_PREFIX, APP_SERVER_CLASSLOADER_MODULE_EJB_SEARCH_STRING_PREFIX, APP_SERVER_CLASSLOADER_MODULE_EJB_WAR_SEARCH_STRING_POSTFIX, APP_SERVER_CLASSLOADER_MODULE_WAR_SEARCH_STRING_PREFIX, JMX_MBEANSERVER_INDEX_DEFAULT_FOR_MULTIPLE_SERVERS, JMX_REGISTRATION_PREFIX, mBeanServer, OVERRIDE_JMX_APPLICATIONNAME_PROPERTY, OVERRIDE_JMX_MODULENAME_PROPERTY
Fields inherited from class org.eclipse.persistence.platform.server.ServerPlatformBase
DEFAULT_SERVER_NAME_AND_VERSION, externalTransactionControllerClass, JMX_REGISTER_DEV_MBEAN_PROPERTY, JMX_REGISTER_RUN_MBEAN_PROPERTY, serverNameAndVersion, shouldRegisterDevelopmentBean, shouldRegisterRuntimeBean, threadPool, threadPoolSize
-
Constructor Summary
ConstructorDescriptionCDISEPlatform
(org.eclipse.persistence.sessions.DatabaseSession session) Creates aCDISEPlatform
. -
Method Summary
Modifier and TypeMethodDescriptionClass
<? extends org.eclipse.persistence.sessions.ExternalTransactionController> Returns a non-null
Class
that extendsAbstractTransactionController
, namelyCDISEPlatform.TransactionController
.final int
ReturnsJNDIConnector.UNDEFINED_LOOKUP
when invoked.Uses CDI to find a relevantMBeanServer
, caches it, and returns it.void
Overrides theServerPlatformBase.initializeExternalTransactionController()
method to disable JTA if there is noTransactionManager
bean present in CDI before invoking the superclass implementation.protected void
Sets the name of the platform.void
launchContainerRunnable
(Runnable runnable) Uses CDI to find a relevantExecutor
whoseExecutor.execute(Runnable)
method will be used to submit the suppliedRunnable
.Overrides theServerPlatformBase.unwrapConnection(Connection)
method to considerDelegatingConnection
s.Methods inherited from class org.eclipse.persistence.platform.server.JMXServerPlatformBase
getAbstractSession, getApplicationName, getApplicationName, getMBeanSessionName, getModuleName, getModuleName, getRuntimeServicesMBean, initializeApplicationNameAndModuleName, serverSpecificRegisterMBean, serverSpecificUnregisterMBean, setApplicationName, setModuleName, setRuntimeServicesMBean
Methods inherited from class org.eclipse.persistence.platform.server.ServerPlatformBase
clearStatementCache, configureProfiler, disableJTA, disableRuntimeServices, enableRuntimeServices, ensureNotLoggedIn, externalTransactionControllerNotNullWarning, getDatabaseSession, getNewTempClassLoader, getPartitionID, getServerLog, getServerNameAndVersion, getThreadPool, getThreadPoolSize, isCMP, isJTA11, isJTAEnabled, isRuntimeServicesEnabled, isRuntimeServicesEnabledDefault, registerMBean, setExternalTransactionControllerClass, setIsCMP, setThreadPool, setThreadPoolSize, shouldUseDriverManager, shutdown, unregisterMBean, usesPartitions, wasFailureCommunicationBased
-
Constructor Details
-
CDISEPlatform
public CDISEPlatform(org.eclipse.persistence.sessions.DatabaseSession session) Creates aCDISEPlatform
.- Parameters:
session
- theDatabaseSession
this platform will wrap; must not benull
- See Also:
-
-
Method Details
-
initializeServerNameAndVersion
protected void initializeServerNameAndVersion()Sets the name of the platform.The format of the platform name is subject to change without notice.
- Overrides:
initializeServerNameAndVersion
in classorg.eclipse.persistence.platform.server.ServerPlatformBase
- See Also:
-
getMBeanServer
Uses CDI to find a relevantMBeanServer
, caches it, and returns it.This method may return
null
.Overrides of this method may return
null
.If there is no such
MBeanServer
then theMBeanServer
found and cached by the superclass implementation of this method is returned instead.- Overrides:
getMBeanServer
in classorg.eclipse.persistence.platform.server.JMXServerPlatformBase
- Returns:
- an
MBeanServer
, ornull
-
launchContainerRunnable
Uses CDI to find a relevantExecutor
whoseExecutor.execute(Runnable)
method will be used to submit the suppliedRunnable
.If there is no such
Executor
, then the superclass implementation of this method is used instead.- Specified by:
launchContainerRunnable
in interfaceorg.eclipse.persistence.platform.server.ServerPlatform
- Overrides:
launchContainerRunnable
in classorg.eclipse.persistence.platform.server.ServerPlatformBase
- Parameters:
runnable
- theRunnable
to launch; should not benull
- See Also:
-
initializeExternalTransactionController
public void initializeExternalTransactionController()Overrides theServerPlatformBase.initializeExternalTransactionController()
method to disable JTA if there is noTransactionManager
bean present in CDI before invoking the superclass implementation.This method also acquires a
DataSource
from CDI proactively, and installs it to preëmpt any JNDI operations.- Specified by:
initializeExternalTransactionController
in interfaceorg.eclipse.persistence.platform.server.ServerPlatform
- Overrides:
initializeExternalTransactionController
in classorg.eclipse.persistence.platform.server.ServerPlatformBase
- Throws:
org.eclipse.persistence.exceptions.ValidationException
- if aDataSource
could not be acquired- See Also:
-
getExternalTransactionControllerClass
public Class<? extends org.eclipse.persistence.sessions.ExternalTransactionController> getExternalTransactionControllerClass()Returns a non-null
Class
that extendsAbstractTransactionController
, namelyCDISEPlatform.TransactionController
.- Specified by:
getExternalTransactionControllerClass
in interfaceorg.eclipse.persistence.platform.server.ServerPlatform
- Specified by:
getExternalTransactionControllerClass
in classorg.eclipse.persistence.platform.server.ServerPlatformBase
- Returns:
- a non-
null
Class
that extendsAbstractTransactionController
- See Also:
-
getJNDIConnectorLookupType
public final int getJNDIConnectorLookupType()ReturnsJNDIConnector.UNDEFINED_LOOKUP
when invoked.- Specified by:
getJNDIConnectorLookupType
in interfaceorg.eclipse.persistence.platform.server.ServerPlatform
- Overrides:
getJNDIConnectorLookupType
in classorg.eclipse.persistence.platform.server.ServerPlatformBase
- Returns:
JNDIConnector.UNDEFINED_LOOKUP
-
unwrapConnection
Overrides theServerPlatformBase.unwrapConnection(Connection)
method to considerDelegatingConnection
s.By design, only one level of unwrapping occurs; i.e. if the unwrapped
Connection
is itself aDelegatingConnection
it is returned as is.- Specified by:
unwrapConnection
in interfaceorg.eclipse.persistence.platform.server.ServerPlatform
- Overrides:
unwrapConnection
in classorg.eclipse.persistence.platform.server.ServerPlatformBase
- Parameters:
c
- theConnection
to unwrap; must not benull
- Returns:
- the unwrapped
Connection
(which may be the suppliedConnection
); nevernull
- Throws:
NullPointerException
- ifc
isnull
- See Also:
-