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
Nested ClassesModifier and TypeClassDescriptionstatic @interfaceAQualifierused to designate various things as being related to Eclipselink in some way.static classAJTATransactionControllerwhoseCDISEPlatform.TransactionController.acquireTransactionManager()method uses CDI, not JNDI, to return aTransactionManagerinstance. -
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_PROPERTYFields 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
ConstructorsConstructorDescriptionCDISEPlatform(org.eclipse.persistence.sessions.DatabaseSession session) Creates aCDISEPlatform. -
Method Summary
Modifier and TypeMethodDescriptionClass<? extends org.eclipse.persistence.sessions.ExternalTransactionController> Returns a non-nullClassthat extendsAbstractTransactionController, namelyCDISEPlatform.TransactionController.final intReturnsJNDIConnector.UNDEFINED_LOOKUPwhen invoked.Uses CDI to find a relevantMBeanServer, caches it, and returns it.voidOverrides theServerPlatformBase.initializeExternalTransactionController()method to disable JTA if there is noTransactionManagerbean present in CDI before invoking the superclass implementation.protected voidSets the name of the platform.voidlaunchContainerRunnable(Runnable runnable) Uses CDI to find a relevantExecutorwhoseExecutor.execute(Runnable)method will be used to submit the suppliedRunnable.Overrides theServerPlatformBase.unwrapConnection(Connection)method to considerDelegatingConnections.Methods inherited from class org.eclipse.persistence.platform.server.JMXServerPlatformBase
getAbstractSession, getApplicationName, getApplicationName, getMBeanSessionName, getModuleName, getModuleName, getRuntimeServicesMBean, initializeApplicationNameAndModuleName, serverSpecificRegisterMBean, serverSpecificUnregisterMBean, setApplicationName, setModuleName, setRuntimeServicesMBeanMethods 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- theDatabaseSessionthis 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:
initializeServerNameAndVersionin 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
MBeanServerthen theMBeanServerfound and cached by the superclass implementation of this method is returned instead.- Overrides:
getMBeanServerin classorg.eclipse.persistence.platform.server.JMXServerPlatformBase- Returns:
- an
MBeanServer, ornull
-
launchContainerRunnable
Uses CDI to find a relevantExecutorwhoseExecutor.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:
launchContainerRunnablein interfaceorg.eclipse.persistence.platform.server.ServerPlatform- Overrides:
launchContainerRunnablein classorg.eclipse.persistence.platform.server.ServerPlatformBase- Parameters:
runnable- theRunnableto launch; should not benull- See Also:
-
initializeExternalTransactionController
public void initializeExternalTransactionController()Overrides theServerPlatformBase.initializeExternalTransactionController()method to disable JTA if there is noTransactionManagerbean present in CDI before invoking the superclass implementation.This method also acquires a
DataSourcefrom CDI proactively, and installs it to preëmpt any JNDI operations.- Specified by:
initializeExternalTransactionControllerin interfaceorg.eclipse.persistence.platform.server.ServerPlatform- Overrides:
initializeExternalTransactionControllerin classorg.eclipse.persistence.platform.server.ServerPlatformBase- Throws:
org.eclipse.persistence.exceptions.ValidationException- if aDataSourcecould not be acquired- See Also:
-
getExternalTransactionControllerClass
public Class<? extends org.eclipse.persistence.sessions.ExternalTransactionController> getExternalTransactionControllerClass()Returns a non-nullClassthat extendsAbstractTransactionController, namelyCDISEPlatform.TransactionController.- Specified by:
getExternalTransactionControllerClassin interfaceorg.eclipse.persistence.platform.server.ServerPlatform- Specified by:
getExternalTransactionControllerClassin classorg.eclipse.persistence.platform.server.ServerPlatformBase- Returns:
- a non-
nullClassthat extendsAbstractTransactionController - See Also:
-
getJNDIConnectorLookupType
public final int getJNDIConnectorLookupType()ReturnsJNDIConnector.UNDEFINED_LOOKUPwhen invoked.- Specified by:
getJNDIConnectorLookupTypein interfaceorg.eclipse.persistence.platform.server.ServerPlatform- Overrides:
getJNDIConnectorLookupTypein classorg.eclipse.persistence.platform.server.ServerPlatformBase- Returns:
JNDIConnector.UNDEFINED_LOOKUP
-
unwrapConnection
Overrides theServerPlatformBase.unwrapConnection(Connection)method to considerDelegatingConnections.By design, only one level of unwrapping occurs; i.e. if the unwrapped
Connectionis itself aDelegatingConnectionit is returned as is.- Specified by:
unwrapConnectionin interfaceorg.eclipse.persistence.platform.server.ServerPlatform- Overrides:
unwrapConnectionin classorg.eclipse.persistence.platform.server.ServerPlatformBase- Parameters:
c- theConnectionto unwrap; must not benull- Returns:
- the unwrapped
Connection(which may be the suppliedConnection); nevernull - Throws:
NullPointerException- ifcisnull- See Also:
-