blob: 123e0c2b2a1d07c3dc42c5232cb3d9dffdafbbb0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_252) on Fri Jul 16 09:39:12 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ServerPlatformBase (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ServerPlatformBase (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":6,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformDetector.html" title="interface in org.eclipse.persistence.platform.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/platform/server/ServerPlatformBase.html" target="_top">Frames</a></li>
<li><a href="ServerPlatformBase.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.persistence.platform.server</div>
<h2 title="Class ServerPlatformBase" class="title">Class ServerPlatformBase</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.platform.server.ServerPlatformBase</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/CustomServerPlatform.html" title="class in org.eclipse.persistence.platform.server">CustomServerPlatform</a>, <a href="../../../../../org/eclipse/persistence/platform/server/JMXServerPlatformBase.html" title="class in org.eclipse.persistence.platform.server">JMXServerPlatformBase</a>, <a href="../../../../../org/eclipse/persistence/platform/server/NoServerPlatform.html" title="class in org.eclipse.persistence.platform.server">NoServerPlatform</a>, <a href="../../../../../org/eclipse/persistence/platform/server/oc4j/Oc4jPlatform.html" title="class in org.eclipse.persistence.platform.server.oc4j">Oc4jPlatform</a>, <a href="../../../../../org/eclipse/persistence/platform/server/sap/SAPNetWeaver_7_1_Platform.html" title="class in org.eclipse.persistence.platform.server.sap">SAPNetWeaver_7_1_Platform</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">ServerPlatformBase</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></pre>
<div class="block">PUBLIC:
Implementation of org.eclipse.persistence.platform.server.ServerPlatform
<p>
This is the abstract superclass of all platforms for all servers. Each DatabaseSession
contains an instance of the receiver, to help the DatabaseSession determine:
<ul>
<li> Which external transaction controller to use
<li> Whether or not to enable JTA (external transaction control)
<li> How to register/unregister for runtime services (JMX/MBean)
<li> Whether or not to enable runtime services
<li> How to launch container Threads
</ul>
<p>
Subclasses already exist to provide configurations for Oc4J, WebLogic, JBoss, NetWeaver, GlassFish and WebSphere.
<p>
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:
<ul>
<li>ServerPlatformBase.getExternalTransactionControllerClass()
<li>ServerPlatformBase.registerMBean()
<li>ServerPlatformBase.unregisterMBean()
</ul>
for the desired behavior.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server"><code>ServerPlatform</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#DEFAULT_SERVER_NAME_AND_VERSION">DEFAULT_SERVER_NAME_AND_VERSION</a></span></code>
<div class="block">INTERNAL:
Answer "unknown" as a default for platforms that do not implement getModuleName()</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#externalTransactionControllerClass">externalTransactionControllerClass</a></span></code>
<div class="block">externalTransactionControllerClass: This is a user-specifiable class defining the class
of external transaction controller to be set into the DatabaseSession</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#JMX_REGISTER_DEV_MBEAN_PROPERTY">JMX_REGISTER_DEV_MBEAN_PROPERTY</a></span></code>
<div class="block">This System property "eclipselink.register.dev.mbean" when set to true will enable registration/unregistration of the DevelopmentServices MBean</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#JMX_REGISTER_RUN_MBEAN_PROPERTY">JMX_REGISTER_RUN_MBEAN_PROPERTY</a></span></code>
<div class="block">This System property "eclipselink.register.run.mbean" when set to true will enable registration/unregistration of the RuntimeServices MBean</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#serverNameAndVersion">serverNameAndVersion</a></span></code>
<div class="block">INTERNAL:
Server name and version.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#shouldRegisterDevelopmentBean">shouldRegisterDevelopmentBean</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#shouldRegisterRuntimeBean">shouldRegisterRuntimeBean</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#threadPool">threadPool</a></span></code>
<div class="block">Allow pooling of threads for asynchronous processing in RCM and other areas.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#threadPoolSize">threadPoolSize</a></span></code>
<div class="block">Allow the thread pool size to be configured.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#ServerPlatformBase-org.eclipse.persistence.sessions.DatabaseSession-">ServerPlatformBase</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a>&nbsp;newDatabaseSession)</code>
<div class="block">INTERNAL: Default Constructor: Initialize so that runtime services and
JTA are enabled.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#clearStatementCache-java.sql.Connection-">clearStatementCache</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;connection)</code>
<div class="block">INTERNAL:
Clears statement cache of the wrapper connection.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#configureProfiler-org.eclipse.persistence.sessions.Session-">configureProfiler</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</code>
<div class="block">INTERNAL: configureProfiler(): set default performance profiler used in this server.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableJTA--">disableJTA</a></span>()</code>
<div class="block">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.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableRuntimeServices--">disableRuntimeServices</a></span>()</code>
<div class="block">INTERNAL: disableRuntimeServices(): Configure the receiver such that no JMX/MBean will be registered
to provide runtime services for my DatabaseSession at runtime.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#enableRuntimeServices--">enableRuntimeServices</a></span>()</code>
<div class="block">INTERNAL:
enableRuntimeServices(): Configure the receiver such that JMX/MBeans will be registered
to provide runtime services for my DatabaseSession at runtime.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#ensureNotLoggedIn--">ensureNotLoggedIn</a></span>()</code>
<div class="block">INTERNAL: Make sure that the DatabaseSession has not logged in yet.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#externalTransactionControllerNotNullWarning--">externalTransactionControllerNotNullWarning</a></span>()</code>
<div class="block">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.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getDatabaseSession--">getDatabaseSession</a></span>()</code>
<div class="block">INTERNAL: getDatabaseSession(): Answer the instance of DatabaseSession the receiver is helping.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getExternalTransactionControllerClass--">getExternalTransactionControllerClass</a></span>()</code>
<div class="block">INTERNAL: getExternalTransactionControllerClass(): Answer the class of external transaction controller to use
For this server platform.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getJNDIConnectorLookupType--">getJNDIConnectorLookupType</a></span>()</code>
<div class="block">INTERNAL: Get JNDIConnector lookupType value for this platform.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getModuleName--">getModuleName</a></span>()</code>
<div class="block">INTERNAL: getModuleName(): Answer the name of the module (jar name) that my session
is associated with.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.helper.JPAClassLoaderHolder</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getNewTempClassLoader-jakarta.persistence.spi.PersistenceUnitInfo-">getNewTempClassLoader</a></span>(jakarta.persistence.spi.PersistenceUnitInfo&nbsp;puInfo)</code>
<div class="block">INTERNAL:
JIRA EJBTHREE-572 requires that we use the real classLoader in place of the getNewTempClassLoader().</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getPartitionID--">getPartitionID</a></span>()</code>
<div class="block">INTERNAL: Get Partition ID.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/logging/SessionLog.html" title="interface in org.eclipse.persistence.logging">SessionLog</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getServerLog--">getServerLog</a></span>()</code>
<div class="block">INTERNAL: getServerLog(): Return the ServerLog for this platform
Return the default ServerLog in the base</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getServerNameAndVersion--">getServerNameAndVersion</a></span>()</code>
<div class="block">PUBLIC: getServerNameAndVersion(): Talk to the relevant server class library, and get the server name
and version</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getThreadPool--">getThreadPool</a></span>()</code>
<div class="block">INTERNAL: Return the thread pool, initializing if required.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getThreadPoolSize--">getThreadPoolSize</a></span>()</code>
<div class="block">Return the thread pool size.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#initializeExternalTransactionController--">initializeExternalTransactionController</a></span>()</code>
<div class="block">INTERNAL: initializeExternalTransactionController(): Populate the DatabaseSession's
external transaction controller with an instance of my transaction controller class.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#initializeServerNameAndVersion--">initializeServerNameAndVersion</a></span>()</code>
<div class="block">INTERNAL: initializeServerNameAndVersion(): Talk to the relevant server class library, and get the server name
and version
Default is "unknown"</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isCMP--">isCMP</a></span>()</code>
<div class="block">INTERNAL: isCMP(): Answer true if we're in the context of CMP (i.e.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isJTA11--">isJTA11</a></span>()</code>
<div class="block">INTERNAL:
Check whether JTA 1.1 API is available.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isJTAEnabled--">isJTAEnabled</a></span>()</code>
<div class="block">INTERNAL: isJTAEnabled(): Answer true if the DatabaseSession's external transaction controller class will
be populated with my transaction controller class at runtime.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--">isRuntimeServicesEnabled</a></span>()</code>
<div class="block">INTERNAL:
isRuntimeServicesEnabled(): Answer true if the JMX/MBean providing runtime services for
the receiver's DatabaseSession will be deployed at runtime.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabledDefault--">isRuntimeServicesEnabledDefault</a></span>()</code>
<div class="block">INTERNAL:
isRuntimeServicesEnabledDefault(): Answer true if the JMX/MBean providing runtime services for
the receiver's DatabaseSession will be deployed at runtime.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#launchContainerRunnable-java.lang.Runnable-">launchContainerRunnable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runnable)</code>
<div class="block">INTERNAL: launchContainerRunnable(Runnable runnable): Use the container library to
start the provided Runnable.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#registerMBean--">registerMBean</a></span>()</code>
<div class="block">INTERNAL: registerMBean(): Create and deploy the JMX MBean to provide runtime services for my
databaseSession.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#serverSpecificRegisterMBean--">serverSpecificRegisterMBean</a></span>()</code>
<div class="block">INTERNAL: serverSpecificRegisterMBean(): Server specific implementation of the
creation and deployment of the JMX MBean to provide runtime services for my
databaseSession.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#serverSpecificUnregisterMBean--">serverSpecificUnregisterMBean</a></span>()</code>
<div class="block">INTERNAL: serverSpecificUnregisterMBean(): Server specific implementation of the
unregistration of the JMX MBean from its server.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#setExternalTransactionControllerClass-java.lang.Class-">setExternalTransactionControllerClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;newClass)</code>
<div class="block">INTERNAL: setExternalTransactionControllerClass(Class newClass): Set the class of external
transaction controller to use in the DatabaseSession.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#setIsCMP-boolean-">setIsCMP</a></span>(boolean&nbsp;isThisCMP)</code>
<div class="block">INTERNAL: setIsCMP(boolean): Define whether or not we're in the context of CMP (i.e.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#setThreadPool-java.util.concurrent.ExecutorService-">setThreadPool</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;threadPool)</code>
<div class="block">INTERNAL: Set the thread pool to use.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#setThreadPoolSize-int-">setThreadPoolSize</a></span>(int&nbsp;threadPoolSize)</code>
<div class="block">Set the thread pool size.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#shouldUseDriverManager--">shouldUseDriverManager</a></span>()</code>
<div class="block">INTERNAL: shouldUseDriverManager(): Indicates whether DriverManager should be used while connecting DefaultConnector.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#shutdown--">shutdown</a></span>()</code>
<div class="block">INTERNAL: perform any require shutdown tasks.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#unregisterMBean--">unregisterMBean</a></span>()</code>
<div class="block">INTERNAL: unregisterMBean(): Unregister the JMX MBean that was providing runtime services for my
databaseSession.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#unwrapConnection-java.sql.Connection-">unwrapConnection</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;connection)</code>
<div class="block">INTERNAL: This method is used to unwrap the connection wrapped by
the application server.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#usesPartitions--">usesPartitions</a></span>()</code>
<div class="block">INTERNAL: Some servers may support partitioning</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#wasFailureCommunicationBased-java.sql.SQLException-org.eclipse.persistence.internal.databaseaccess.Accessor-org.eclipse.persistence.internal.sessions.AbstractSession-">wasFailureCommunicationBased</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a>&nbsp;exception,
org.eclipse.persistence.internal.databaseaccess.Accessor&nbsp;connection,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;sessionForProfile)</code>
<div class="block">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.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="JMX_REGISTER_DEV_MBEAN_PROPERTY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JMX_REGISTER_DEV_MBEAN_PROPERTY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JMX_REGISTER_DEV_MBEAN_PROPERTY</pre>
<div class="block">This System property "eclipselink.register.dev.mbean" when set to true will enable registration/unregistration of the DevelopmentServices MBean</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.persistence.platform.server.ServerPlatformBase.JMX_REGISTER_DEV_MBEAN_PROPERTY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JMX_REGISTER_RUN_MBEAN_PROPERTY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JMX_REGISTER_RUN_MBEAN_PROPERTY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JMX_REGISTER_RUN_MBEAN_PROPERTY</pre>
<div class="block">This System property "eclipselink.register.run.mbean" when set to true will enable registration/unregistration of the RuntimeServices MBean</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.persistence.platform.server.ServerPlatformBase.JMX_REGISTER_RUN_MBEAN_PROPERTY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_SERVER_NAME_AND_VERSION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SERVER_NAME_AND_VERSION</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_SERVER_NAME_AND_VERSION</pre>
<div class="block">INTERNAL:
Answer "unknown" as a default for platforms that do not implement getModuleName()</div>
</li>
</ul>
<a name="shouldRegisterDevelopmentBean">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldRegisterDevelopmentBean</h4>
<pre>protected&nbsp;boolean shouldRegisterDevelopmentBean</pre>
</li>
</ul>
<a name="shouldRegisterRuntimeBean">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldRegisterRuntimeBean</h4>
<pre>protected&nbsp;boolean shouldRegisterRuntimeBean</pre>
</li>
</ul>
<a name="externalTransactionControllerClass">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>externalTransactionControllerClass</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a> externalTransactionControllerClass</pre>
<div class="block">externalTransactionControllerClass: This is a user-specifiable class defining the class
of external transaction controller to be set into the DatabaseSession</div>
</li>
</ul>
<a name="serverNameAndVersion">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverNameAndVersion</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> serverNameAndVersion</pre>
<div class="block">INTERNAL:
Server name and version.</div>
</li>
</ul>
<a name="threadPoolSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>threadPoolSize</h4>
<pre>protected&nbsp;int threadPoolSize</pre>
<div class="block">Allow the thread pool size to be configured.</div>
</li>
</ul>
<a name="threadPool">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>threadPool</h4>
<pre>protected volatile&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> threadPool</pre>
<div class="block">Allow pooling of threads for asynchronous processing in RCM and other areas.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ServerPlatformBase-org.eclipse.persistence.sessions.DatabaseSession-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ServerPlatformBase</h4>
<pre>public&nbsp;ServerPlatformBase(<a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a>&nbsp;newDatabaseSession)</pre>
<div class="block">INTERNAL: Default Constructor: Initialize so that runtime services and
JTA are enabled. Set the DatabaseSession that I will be helping.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newDatabaseSession</code> - The instance of DatabaseSession that I am helping.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="configureProfiler-org.eclipse.persistence.sessions.Session-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configureProfiler</h4>
<pre>public&nbsp;void&nbsp;configureProfiler(<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</pre>
<div class="block">INTERNAL: configureProfiler(): set default performance profiler used in this server.</div>
</li>
</ul>
<a name="getDatabaseSession--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDatabaseSession</h4>
<pre>public&nbsp;<a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a>&nbsp;getDatabaseSession()</pre>
<div class="block">INTERNAL: getDatabaseSession(): Answer the instance of DatabaseSession the receiver is helping.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getDatabaseSession--">getDatabaseSession</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>DatabaseSession databaseSession</dd>
</dl>
</li>
</ul>
<a name="getServerNameAndVersion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerNameAndVersion</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getServerNameAndVersion()</pre>
<div class="block">PUBLIC: getServerNameAndVersion(): Talk to the relevant server class library, and get the server name
and version</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getServerNameAndVersion--">getServerNameAndVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String serverNameAndVersion</dd>
</dl>
</li>
</ul>
<a name="initializeServerNameAndVersion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeServerNameAndVersion</h4>
<pre>protected&nbsp;void&nbsp;initializeServerNameAndVersion()</pre>
<div class="block">INTERNAL: initializeServerNameAndVersion(): Talk to the relevant server class library, and get the server name
and version
Default is "unknown"</div>
</li>
</ul>
<a name="getModuleName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getModuleName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getModuleName()</pre>
<div class="block">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".</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getModuleName--">getModuleName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String moduleName</dd>
</dl>
</li>
</ul>
<a name="getExternalTransactionControllerClass--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExternalTransactionControllerClass</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;getExternalTransactionControllerClass()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getExternalTransactionControllerClass--">getExternalTransactionControllerClass</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Class externalTransactionControllerClass</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/transaction/JTATransactionController.html" title="class in org.eclipse.persistence.transaction"><code>JTATransactionController</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isJTAEnabled--"><code>isJTAEnabled()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableJTA--"><code>disableJTA()</code></a></dd>
</dl>
</li>
</ul>
<a name="setExternalTransactionControllerClass-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExternalTransactionControllerClass</h4>
<pre>public&nbsp;void&nbsp;setExternalTransactionControllerClass(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;newClass)</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#setExternalTransactionControllerClass-java.lang.Class-">setExternalTransactionControllerClass</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/transaction/JTATransactionController.html" title="class in org.eclipse.persistence.transaction"><code>JTATransactionController</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isJTAEnabled--"><code>isJTAEnabled()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableJTA--"><code>disableJTA()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#initializeExternalTransactionController--"><code>initializeExternalTransactionController()</code></a></dd>
</dl>
</li>
</ul>
<a name="initializeExternalTransactionController--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeExternalTransactionController</h4>
<pre>public&nbsp;void&nbsp;initializeExternalTransactionController()</pre>
<div class="block">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().</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#initializeExternalTransactionController--">initializeExternalTransactionController</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html" title="class in org.eclipse.persistence.platform.server"><code>ServerPlatformBase</code></a></dd>
</dl>
</li>
</ul>
<a name="externalTransactionControllerNotNullWarning--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>externalTransactionControllerNotNullWarning</h4>
<pre>protected&nbsp;void&nbsp;externalTransactionControllerNotNullWarning()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getExternalTransactionControllerClass--"><code>getExternalTransactionControllerClass()</code></a></dd>
</dl>
</li>
</ul>
<a name="isJTAEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJTAEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isJTAEnabled()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#isJTAEnabled--">isJTAEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean isJTAEnabled</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getExternalTransactionControllerClass--"><code>getExternalTransactionControllerClass()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableJTA--"><code>disableJTA()</code></a></dd>
</dl>
</li>
</ul>
<a name="isJTA11--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJTA11</h4>
<pre>public&nbsp;boolean&nbsp;isJTA11()</pre>
<div class="block">INTERNAL:
Check whether JTA 1.1 API is available.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>value of <code>true</code> when JTA 1.1 API is available or <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a name="isRuntimeServicesEnabledDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRuntimeServicesEnabledDefault</h4>
<pre>public&nbsp;boolean&nbsp;isRuntimeServicesEnabledDefault()</pre>
<div class="block">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 <a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--"><code>isRuntimeServicesEnabled()</code></a> for a
ServerPlatform. By default this is <code>false</code> but some platforms
can choose to have MBeans deployed by default.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#isRuntimeServicesEnabledDefault--">isRuntimeServicesEnabledDefault</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
</dl>
</li>
</ul>
<a name="isRuntimeServicesEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRuntimeServicesEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isRuntimeServicesEnabled()</pre>
<div class="block">INTERNAL:
isRuntimeServicesEnabled(): Answer true if the JMX/MBean providing runtime services for
the receiver's DatabaseSession will be deployed at runtime.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#isRuntimeServicesEnabled--">isRuntimeServicesEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean isRuntimeServicesEnabled</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableRuntimeServices--"><code>disableRuntimeServices()</code></a></dd>
</dl>
</li>
</ul>
<a name="disableRuntimeServices--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disableRuntimeServices</h4>
<pre>public&nbsp;void&nbsp;disableRuntimeServices()</pre>
<div class="block">INTERNAL: disableRuntimeServices(): Configure the receiver such that no JMX/MBean will be registered
to provide runtime services for my DatabaseSession at runtime.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#disableRuntimeServices--">disableRuntimeServices</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--"><code>isRuntimeServicesEnabled()</code></a></dd>
</dl>
</li>
</ul>
<a name="enableRuntimeServices--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableRuntimeServices</h4>
<pre>public&nbsp;void&nbsp;enableRuntimeServices()</pre>
<div class="block">INTERNAL:
enableRuntimeServices(): Configure the receiver such that JMX/MBeans will be registered
to provide runtime services for my DatabaseSession at runtime.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--"><code>isRuntimeServicesEnabled()</code></a></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>EclipseLink 2.2.0</dd>
</dl>
</li>
</ul>
<a name="disableJTA--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disableJTA</h4>
<pre>public&nbsp;void&nbsp;disableJTA()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#disableJTA--">disableJTA</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#getExternalTransactionControllerClass--"><code>getExternalTransactionControllerClass()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isJTAEnabled--"><code>isJTAEnabled()</code></a></dd>
</dl>
</li>
</ul>
<a name="unwrapConnection-java.sql.Connection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unwrapConnection</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;unwrapConnection(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;connection)</pre>
<div class="block">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</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#unwrapConnection-java.sql.Connection-">unwrapConnection</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
</dl>
</li>
</ul>
<a name="launchContainerRunnable-java.lang.Runnable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>launchContainerRunnable</h4>
<pre>public&nbsp;void&nbsp;launchContainerRunnable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runnable)</pre>
<div class="block">INTERNAL: launchContainerRunnable(Runnable runnable): Use the container library to
start the provided Runnable.
Default behavior is to use Thread(runnable).start()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#launchContainerRunnable-java.lang.Runnable-">launchContainerRunnable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>runnable:</code> - the instance of runnable to be "started"</dd>
</dl>
</li>
</ul>
<a name="ensureNotLoggedIn--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureNotLoggedIn</h4>
<pre>protected&nbsp;void&nbsp;ensureNotLoggedIn()</pre>
<div class="block">INTERNAL: Make sure that the DatabaseSession has not logged in yet.
Throw a ValidationException if we have.</div>
</li>
</ul>
<a name="getServerLog--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerLog</h4>
<pre>public&nbsp;<a href="../../../../../org/eclipse/persistence/logging/SessionLog.html" title="interface in org.eclipse.persistence.logging">SessionLog</a>&nbsp;getServerLog()</pre>
<div class="block">INTERNAL: getServerLog(): Return the ServerLog for this platform
Return the default ServerLog in the base</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getServerLog--">getServerLog</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>org.eclipse.persistence.logging.SessionLog</dd>
</dl>
</li>
</ul>
<a name="getThreadPoolSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreadPoolSize</h4>
<pre>public&nbsp;int&nbsp;getThreadPoolSize()</pre>
<div class="block">Return the thread pool size.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getThreadPoolSize--">getThreadPoolSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
</dl>
</li>
</ul>
<a name="setThreadPoolSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThreadPoolSize</h4>
<pre>public&nbsp;void&nbsp;setThreadPoolSize(int&nbsp;threadPoolSize)</pre>
<div class="block">Set the thread pool size.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#setThreadPoolSize-int-">setThreadPoolSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
</dl>
</li>
</ul>
<a name="getThreadPool--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreadPool</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;getThreadPool()</pre>
<div class="block">INTERNAL: Return the thread pool, initializing if required.</div>
</li>
</ul>
<a name="setThreadPool-java.util.concurrent.ExecutorService-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThreadPool</h4>
<pre>public&nbsp;void&nbsp;setThreadPool(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;threadPool)</pre>
<div class="block">INTERNAL: Set the thread pool to use.</div>
</li>
</ul>
<a name="isCMP--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCMP</h4>
<pre>public&nbsp;boolean&nbsp;isCMP()</pre>
<div class="block">INTERNAL: isCMP(): Answer true if we're in the context of CMP (i.e. the container created me)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean</dd>
</dl>
</li>
</ul>
<a name="setIsCMP-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsCMP</h4>
<pre>public&nbsp;void&nbsp;setIsCMP(boolean&nbsp;isThisCMP)</pre>
<div class="block">INTERNAL: setIsCMP(boolean): Define whether or not we're in the context of CMP (i.e. the container created me)</div>
</li>
</ul>
<a name="shouldUseDriverManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUseDriverManager</h4>
<pre>public&nbsp;boolean&nbsp;shouldUseDriverManager()</pre>
<div class="block">INTERNAL: shouldUseDriverManager(): Indicates whether DriverManager should be used while connecting DefaultConnector.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#shouldUseDriverManager--">shouldUseDriverManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean</dd>
</dl>
</li>
</ul>
<a name="wasFailureCommunicationBased-java.sql.SQLException-org.eclipse.persistence.internal.databaseaccess.Accessor-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wasFailureCommunicationBased</h4>
<pre>public&nbsp;boolean&nbsp;wasFailureCommunicationBased(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a>&nbsp;exception,
org.eclipse.persistence.internal.databaseaccess.Accessor&nbsp;connection,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;sessionForProfile)</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#wasFailureCommunicationBased-java.sql.SQLException-org.eclipse.persistence.internal.databaseaccess.Accessor-org.eclipse.persistence.internal.sessions.AbstractSession-">wasFailureCommunicationBased</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
</dl>
</li>
</ul>
<a name="getNewTempClassLoader-jakarta.persistence.spi.PersistenceUnitInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNewTempClassLoader</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.helper.JPAClassLoaderHolder&nbsp;getNewTempClassLoader(jakarta.persistence.spi.PersistenceUnitInfo&nbsp;puInfo)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getNewTempClassLoader-jakarta.persistence.spi.PersistenceUnitInfo-">ServerPlatform</a></code></span></div>
<div class="block">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()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getNewTempClassLoader-jakarta.persistence.spi.PersistenceUnitInfo-">getNewTempClassLoader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>puInfo</code> - - the persistence unit info</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ClassLoaderHolder - a composite object containing the classLoader and the flag
that is true if the classLoader returned is temporary</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>JPAClassLoaderHolder</code></dd>
</dl>
</li>
</ul>
<a name="clearStatementCache-java.sql.Connection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearStatementCache</h4>
<pre>public&nbsp;void&nbsp;clearStatementCache(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;connection)</pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#clearStatementCache-java.sql.Connection-">clearStatementCache</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
</dl>
</li>
</ul>
<a name="registerMBean--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerMBean</h4>
<pre>public&nbsp;void&nbsp;registerMBean()</pre>
<div class="block">INTERNAL: registerMBean(): Create and deploy the JMX MBean to provide runtime services for my
databaseSession.
Default is to do nothing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#registerMBean--">registerMBean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--"><code>isRuntimeServicesEnabled()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableRuntimeServices--"><code>disableRuntimeServices()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#unregisterMBean--"><code>unregisterMBean()</code></a></dd>
</dl>
</li>
</ul>
<a name="unregisterMBean--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterMBean</h4>
<pre>public&nbsp;void&nbsp;unregisterMBean()</pre>
<div class="block">INTERNAL: unregisterMBean(): Unregister the JMX MBean that was providing runtime services for my
databaseSession.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#unregisterMBean--">unregisterMBean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--"><code>isRuntimeServicesEnabled()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableRuntimeServices--"><code>disableRuntimeServices()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#registerMBean--"><code>registerMBean()</code></a></dd>
</dl>
</li>
</ul>
<a name="shutdown--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre>public&nbsp;void&nbsp;shutdown()</pre>
<div class="block">INTERNAL: perform any require shutdown tasks.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
</dl>
</li>
</ul>
<a name="serverSpecificUnregisterMBean--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverSpecificUnregisterMBean</h4>
<pre>public&nbsp;void&nbsp;serverSpecificUnregisterMBean()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--"><code>isRuntimeServicesEnabled()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableRuntimeServices--"><code>disableRuntimeServices()</code></a></dd>
</dl>
</li>
</ul>
<a name="serverSpecificRegisterMBean--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverSpecificRegisterMBean</h4>
<pre>public&nbsp;void&nbsp;serverSpecificRegisterMBean()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#isRuntimeServicesEnabled--"><code>isRuntimeServicesEnabled()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#disableRuntimeServices--"><code>disableRuntimeServices()</code></a>,
<a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformBase.html#registerMBean--"><code>registerMBean()</code></a></dd>
</dl>
</li>
</ul>
<a name="getJNDIConnectorLookupType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJNDIConnectorLookupType</h4>
<pre>public&nbsp;int&nbsp;getJNDIConnectorLookupType()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getJNDIConnectorLookupType--">ServerPlatform</a></code></span></div>
<div class="block">INTERNAL: Get JNDIConnector lookupType value for this platform.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getJNDIConnectorLookupType--">getJNDIConnectorLookupType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Return JNDIConnector.COMPOSITE_NAME_LOOKUP.</dd>
</dl>
</li>
</ul>
<a name="getPartitionID--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPartitionID</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getPartitionID()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getPartitionID--">ServerPlatform</a></code></span></div>
<div class="block">INTERNAL: Get Partition ID.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#getPartitionID--">getPartitionID</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>partition ID</dd>
</dl>
</li>
</ul>
<a name="usesPartitions--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>usesPartitions</h4>
<pre>public&nbsp;boolean&nbsp;usesPartitions()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#usesPartitions--">ServerPlatform</a></code></span></div>
<div class="block">INTERNAL: Some servers may support partitioning</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html#usesPartitions--">usesPartitions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server">ServerPlatform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if server supports partitions, false otherwise</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatform.html" title="interface in org.eclipse.persistence.platform.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/platform/server/ServerPlatformDetector.html" title="interface in org.eclipse.persistence.platform.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/platform/server/ServerPlatformBase.html" target="_top">Frames</a></li>
<li><a href="ServerPlatformBase.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>