<!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:38:49 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Server (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="Server (EclipseLink 3.0.2, API Reference)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/sessions/server/ReadConnectionPool.html" title="class in org.eclipse.persistence.sessions.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/sessions/server/ServerSession.html" title="class in org.eclipse.persistence.sessions.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/sessions/server/Server.html" target="_top">Frames</a></li>
<li><a href="Server.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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.sessions.server</div>
<h2 title="Interface Server" class="title">Interface Server</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/eclipse/persistence/core/sessions/CoreSession.html" title="interface in org.eclipse.persistence.core.sessions">CoreSession</a>&lt;<a href="../../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,<a href="../../../../../org/eclipse/persistence/sessions/Login.html" title="interface in org.eclipse.persistence.sessions">Login</a>,org.eclipse.persistence.internal.databaseaccess.Platform,<a href="../../../../../org/eclipse/persistence/sessions/Project.html" title="class in org.eclipse.persistence.sessions">Project</a>,<a href="../../../../../org/eclipse/persistence/sessions/SessionEventManager.html" title="class in org.eclipse.persistence.sessions">SessionEventManager</a>&gt;, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/ServerSession.html" title="class in org.eclipse.persistence.sessions.server">ServerSession</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Server</span>
extends <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a></pre>
<div class="block"><p>
 <b>Purpose</b>: A single session that supports multiple user/clients connection at the same time.
 <p>
 <b>Description</b>: This session supports a shared session that can be used by multiple users
 or clients in a three-tiered application.  It brokers client sessions to allow read and write access
 through a unified object cache.  The server session uses a single connection pool by default, but allows multiple connection
 pools and separate read/write pools to be configured.  All changes to objects and the database must be done through
 a unit of work acquired from the client session, this allows the changes to occur in a transactional object
 space and under a exclusive database connection.
 <p>
 <b>Responsibilities</b>:
 <ul>
    <li> Connection pooling.
    <li> Reading objects and maintaining the object cache.
    <li> Brokering client sessions.
    <li> Requiring the UnitOfWork to be used for modification.
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html" title="interface in org.eclipse.persistence.sessions.server"><code>Server</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server"><code>ClientSession</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/UnitOfWork.html" title="interface in org.eclipse.persistence.sessions"><code>UnitOfWork</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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></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><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#acquireClientSession--">acquireClientSession</a></span>()</code>
<div class="block">PUBLIC:
 Return a client session for this server session.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#acquireClientSession-org.eclipse.persistence.sessions.server.ConnectionPolicy-">acquireClientSession</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPolicy.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPolicy</a>&nbsp;connectionPolicy)</code>
<div class="block">PUBLIC:
 Return a client session for this server session.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#acquireClientSession-org.eclipse.persistence.sessions.Login-">acquireClientSession</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/Login.html" title="interface in org.eclipse.persistence.sessions">Login</a>&nbsp;login)</code>
<div class="block">PUBLIC:
 Return a client session for this server session.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#acquireClientSession-java.lang.String-">acquireClientSession</a></span>(<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;poolName)</code>
<div class="block">PUBLIC:
 Return a client session for this server session.</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/sessions/server/Server.html#addConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-">addConnectionPool</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a>&nbsp;pool)</code>
<div class="block">PUBLIC:
 Connection are pooled to share and restrict the number of database connections.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#addConnectionPool-java.lang.String-org.eclipse.persistence.sessions.Login-int-int-">addConnectionPool</a></span>(<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;poolName,
                 <a href="../../../../../org/eclipse/persistence/sessions/Login.html" title="interface in org.eclipse.persistence.sessions">Login</a>&nbsp;login,
                 int&nbsp;minNumberOfConnections,
                 int&nbsp;maxNumberOfConnections)</code>
<div class="block">PUBLIC:
 Add the connection pool.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getConnectionPool-java.lang.String-">getConnectionPool</a></span>(<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;poolName)</code>
<div class="block">PUBLIC:
 Return the pool by name.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPolicy.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getDefaultConnectionPolicy--">getDefaultConnectionPolicy</a></span>()</code>
<div class="block">PUBLIC:
 The default connection policy is used by default by the acquireClientConnection() protocol.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getDefaultConnectionPool--">getDefaultConnectionPool</a></span>()</code>
<div class="block">PUBLIC:
 Return the default connection pool.</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/sessions/server/Server.html#getMaxNumberOfNonPooledConnections--">getMaxNumberOfNonPooledConnections</a></span>()</code>
<div class="block">PUBLIC:
 Return the number of non-pooled database connections allowed.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getReadConnectionPool--">getReadConnectionPool</a></span>()</code>
<div class="block">PUBLIC:
 Handles allocating connections for read queries.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setDatasourceLogin-org.eclipse.persistence.sessions.Login-">setDatasourceLogin</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/Login.html" title="interface in org.eclipse.persistence.sessions">Login</a>&nbsp;login)</code>
<div class="block">PUBLIC:
 Set the login.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setDefaultConnectionPolicy-org.eclipse.persistence.sessions.server.ConnectionPolicy-">setDefaultConnectionPolicy</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPolicy.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPolicy</a>&nbsp;defaultConnectionPolicy)</code>
<div class="block">PUBLIC:
 The default connection policy is used by default by the acquireClientConnection() protocol.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setMaxNumberOfNonPooledConnections-int-">setMaxNumberOfNonPooledConnections</a></span>(int&nbsp;maxNumberOfNonPooledConnections)</code>
<div class="block">PUBLIC:
 Set the number of non-pooled database connections allowed.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-">setReadConnectionPool</a></span>(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a>&nbsp;readConnectionPool)</code>
<div class="block">PUBLIC:
 Sets the read connection pool directly.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExclusiveReadConnectionPool-int-int-">useExclusiveReadConnectionPool</a></span>(int&nbsp;minNumberOfConnections,
                              int&nbsp;maxNumberOfConnections)</code>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate exclusive <code>ConnectionPool</code>
 with the minimum and maximum number of connections.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExclusiveReadConnectionPool-int-int-int-">useExclusiveReadConnectionPool</a></span>(int&nbsp;initialNumberOfConnections,
                              int&nbsp;minNumberOfConnections,
                              int&nbsp;maxNumberOfConnections)</code>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate exclusive <code>ConnectionPool</code>
 with the initial, minimum and maximum number of connections.</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/sessions/server/Server.html#useExternalReadConnectionPool--">useExternalReadConnectionPool</a></span>()</code>
<div class="block">PUBLIC:
 Sets the read connection pool to be an <code>ExternalConnectionPool</code>.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useReadConnectionPool-int-int-">useReadConnectionPool</a></span>(int&nbsp;minNumberOfConnections,
                     int&nbsp;maxNumberOfConnections)</code>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate shared <code>ConnectionPool</code>
 with the minimum and maximum number of connections.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useReadConnectionPool-int-int-int-">useReadConnectionPool</a></span>(int&nbsp;initialNumberOfConnections,
                     int&nbsp;minNumberOfConnections,
                     int&nbsp;maxNumberOfConnections)</code>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate shared <code>ConnectionPool</code>
 with the minimum and maximum number of connections.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.sessions.DatabaseSession">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.persistence.sessions.<a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a></h3>
<code><a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#addDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">addDescriptor</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#addDescriptors-java.util.Collection-">addDescriptors</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#addDescriptors-org.eclipse.persistence.sessions.Project-">addDescriptors</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#addSequence-org.eclipse.persistence.sequencing.Sequence-">addSequence</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#beginTransaction--">beginTransaction</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#commitTransaction--">commitTransaction</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#deleteAllObjects-java.util.Collection-">deleteAllObjects</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#deleteObject-java.lang.Object-">deleteObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#getCommandManager--">getCommandManager</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#getDatabaseEventListener--">getDatabaseEventListener</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#getSequencingControl--">getSequencingControl</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#getServerPlatform--">getServerPlatform</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#insertObject-java.lang.Object-">insertObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#isInTransaction--">isInTransaction</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#login--">login</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#login-org.eclipse.persistence.sessions.Login-">login</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#login-java.lang.String-java.lang.String-">login</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#logout--">logout</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#refreshAndLockObject-java.lang.Object-">refreshAndLockObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#refreshAndLockObject-java.lang.Object-short-">refreshAndLockObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#rollbackTransaction--">rollbackTransaction</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#setCommandManager-org.eclipse.persistence.sessions.coordination.CommandManager-">setCommandManager</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#setDatabaseEventListener-org.eclipse.persistence.platform.database.events.DatabaseEventListener-">setDatabaseEventListener</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#setExternalTransactionController-org.eclipse.persistence.sessions.ExternalTransactionController-">setExternalTransactionController</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#setLogin-org.eclipse.persistence.sessions.Login-">setLogin</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#setServerPlatform-org.eclipse.persistence.platform.server.ServerPlatform-">setServerPlatform</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#setShouldPropagateChanges-boolean-">setShouldPropagateChanges</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#shouldPropagateChanges--">shouldPropagateChanges</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#updateObject-java.lang.Object-">updateObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#writeAllObjects-java.util.Collection-">writeAllObjects</a>, <a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#writeObject-java.lang.Object-">writeObject</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.sessions.Session">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.persistence.sessions.<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a></h3>
<code><a href="../../../../../org/eclipse/persistence/sessions/Session.html#acquireHistoricalSession-org.eclipse.persistence.history.AsOfClause-">acquireHistoricalSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#acquireUnitOfWork--">acquireUnitOfWork</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#acquireUnitOfWork-org.eclipse.persistence.config.ReferenceMode-">acquireUnitOfWork</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#addJPAQuery-org.eclipse.persistence.queries.DatabaseQuery-">addJPAQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#addQuery-java.lang.String-org.eclipse.persistence.queries.DatabaseQuery-">addQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#clearIntegrityChecker--">clearIntegrityChecker</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#clearProfile--">clearProfile</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#containsQuery-java.lang.String-">containsQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#copy-java.lang.Object-">copy</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#copy-java.lang.Object-org.eclipse.persistence.queries.AttributeGroup-">copy</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#doesObjectExist-java.lang.Object-">doesObjectExist</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#dontLogMessages--">dontLogMessages</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeNonSelectingCall-org.eclipse.persistence.queries.Call-">executeNonSelectingCall</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeNonSelectingSQL-java.lang.String-">executeNonSelectingSQL</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-org.eclipse.persistence.queries.DatabaseQuery-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-org.eclipse.persistence.queries.DatabaseQuery-java.util.List-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Class-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Class-java.util.List-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Class-java.lang.Object-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Class-java.lang.Object-java.lang.Object-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Class-java.lang.Object-java.lang.Object-java.lang.Object-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.util.List-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Object-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Object-java.lang.Object-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeQuery-java.lang.String-java.lang.Object-java.lang.Object-java.lang.Object-">executeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeSelectingCall-org.eclipse.persistence.queries.Call-">executeSelectingCall</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#executeSQL-java.lang.String-">executeSQL</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getActiveSession--">getActiveSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getActiveUnitOfWork--">getActiveUnitOfWork</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getAsOfClause--">getAsOfClause</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getClassDescriptor-java.lang.Class-">getClassDescriptor</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getClassDescriptor-java.lang.Object-">getClassDescriptor</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getClassDescriptorForAlias-java.lang.String-">getClassDescriptorForAlias</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getDatasourceLogin--">getDatasourceLogin</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getDatasourcePlatform--">getDatasourcePlatform</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getDefaultReferenceMode--">getDefaultReferenceMode</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getDescriptor-java.lang.Class-">getDescriptor</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getDescriptor-java.lang.Object-">getDescriptor</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getDescriptorForAlias-java.lang.String-">getDescriptorForAlias</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getDescriptors--">getDescriptors</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getEventManager--">getEventManager</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getExceptionHandler--">getExceptionHandler</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getExternalTransactionController--">getExternalTransactionController</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getId-java.lang.Object-">getId</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getIdentityMapAccessor--">getIdentityMapAccessor</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getIntegrityChecker--">getIntegrityChecker</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getJPAQueries--">getJPAQueries</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getLog--">getLog</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getLogin--">getLogin</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getLogLevel--">getLogLevel</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getLogLevel-java.lang.String-">getLogLevel</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getName--">getName</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getNextSequenceNumberValue-java.lang.Class-">getNextSequenceNumberValue</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getPartitioningPolicy--">getPartitioningPolicy</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getPlatform--">getPlatform</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getProfiler--">getProfiler</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getProject--">getProject</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getProperties--">getProperties</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getProperty-java.lang.String-">getProperty</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getQueries--">getQueries</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getQuery-java.lang.String-">getQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getQuery-java.lang.String-java.util.List-">getQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getSerializer--">getSerializer</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#getSessionLog--">getSessionLog</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#handleException-java.lang.RuntimeException-">handleException</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#handleSevere-java.lang.RuntimeException-">handleSevere</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#hasDescriptor-java.lang.Class-">hasDescriptor</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#hasExceptionHandler--">hasExceptionHandler</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#hasExternalTransactionController--">hasExternalTransactionController</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isClientSession--">isClientSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isConnected--">isConnected</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isDatabaseSession--">isDatabaseSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isDistributedSession--">isDistributedSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isFinalizersEnabled--">isFinalizersEnabled</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isInProfile--">isInProfile</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isRemoteSession--">isRemoteSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isRemoteUnitOfWork--">isRemoteUnitOfWork</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isServerSession--">isServerSession</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isSessionBroker--">isSessionBroker</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#isUnitOfWork--">isUnitOfWork</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#log-org.eclipse.persistence.logging.SessionLogEntry-">log</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#logMessage-java.lang.String-">logMessage</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#readAllObjects-java.lang.Class-">readAllObjects</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#readAllObjects-java.lang.Class-org.eclipse.persistence.queries.Call-">readAllObjects</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#readAllObjects-java.lang.Class-org.eclipse.persistence.expressions.Expression-">readAllObjects</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#readObject-java.lang.Class-">readObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#readObject-java.lang.Class-org.eclipse.persistence.queries.Call-">readObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#readObject-java.lang.Class-org.eclipse.persistence.expressions.Expression-">readObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#readObject-java.lang.Object-">readObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#refreshObject-java.lang.Object-">refreshObject</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#release--">release</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#removeProperty-java.lang.String-">removeProperty</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#removeQuery-java.lang.String-">removeQuery</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setDefaultReferenceMode-org.eclipse.persistence.config.ReferenceMode-">setDefaultReferenceMode</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setExceptionHandler-org.eclipse.persistence.exceptions.ExceptionHandler-">setExceptionHandler</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setIntegrityChecker-org.eclipse.persistence.exceptions.IntegrityChecker-">setIntegrityChecker</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setIsFinalizersEnabled-boolean-">setIsFinalizersEnabled</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setLog-java.io.Writer-">setLog</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setLogLevel-int-">setLogLevel</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setName-java.lang.String-">setName</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setPartitioningPolicy-org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy-">setPartitioningPolicy</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setProfiler-org.eclipse.persistence.sessions.SessionProfiler-">setProfiler</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setProperty-java.lang.String-java.lang.Object-">setProperty</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setQueryTimeoutDefault-int-">setQueryTimeoutDefault</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setQueryTimeoutUnitDefault-java.util.concurrent.TimeUnit-">setQueryTimeoutUnitDefault</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setSerializer-org.eclipse.persistence.sessions.serializers.Serializer-">setSerializer</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#setSessionLog-org.eclipse.persistence.logging.SessionLog-">setSessionLog</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#shouldLog-int-java.lang.String-">shouldLog</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#shouldLogMessages--">shouldLogMessages</a>, <a href="../../../../../org/eclipse/persistence/sessions/Session.html#validateCache--">validateCache</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="acquireClientSession--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireClientSession</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a>&nbsp;acquireClientSession()
                            throws <a href="../../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></pre>
<div class="block">PUBLIC:
 Return a client session for this server session.
 Each user/client connected to this server session must acquire there own client session
 to communicate to the server through.
 This method allows for a client session to be acquired sharing the same login as the server session.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code></dd>
</dl>
</li>
</ul>
<a name="acquireClientSession-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireClientSession</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a>&nbsp;acquireClientSession(<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;poolName)</pre>
<div class="block">PUBLIC:
 Return a client session for this server session.
 Each user/client connected to this server session must acquire there own client session
 to communicate to the server through.
 This method allows for a client session to be acquired sharing its connection from a pool
 of connection allocated on the server session.
 By default this uses a lazy connection policy.</div>
</li>
</ul>
<a name="acquireClientSession-org.eclipse.persistence.sessions.Login-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireClientSession</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a>&nbsp;acquireClientSession(<a href="../../../../../org/eclipse/persistence/sessions/Login.html" title="interface in org.eclipse.persistence.sessions">Login</a>&nbsp;login)</pre>
<div class="block">PUBLIC:
 Return a client session for this server session.
 Each user/client connected to this server session must acquire there own client session
 to communicate to the server through.
 The client must provide its own login to use, and the client session returned
 will have its own exclusive database connection.  This connection will be used to perform
 all database modification for all units of work acquired from the client session.
 By default this does not use a lazy connection policy.</div>
</li>
</ul>
<a name="acquireClientSession-org.eclipse.persistence.sessions.server.ConnectionPolicy-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireClientSession</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ClientSession.html" title="class in org.eclipse.persistence.sessions.server">ClientSession</a>&nbsp;acquireClientSession(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPolicy.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPolicy</a>&nbsp;connectionPolicy)</pre>
<div class="block">PUBLIC:
 Return a client session for this server session.
 The connection policy specifies how the client session's connection will be acquired.</div>
</li>
</ul>
<a name="addConnectionPool-java.lang.String-org.eclipse.persistence.sessions.Login-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addConnectionPool</h4>
<pre>void&nbsp;addConnectionPool(<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;poolName,
                       <a href="../../../../../org/eclipse/persistence/sessions/Login.html" title="interface in org.eclipse.persistence.sessions">Login</a>&nbsp;login,
                       int&nbsp;minNumberOfConnections,
                       int&nbsp;maxNumberOfConnections)</pre>
<div class="block">PUBLIC:
 Add the connection pool.
 Connections are pooled to share and restrict the number of database connections.</div>
</li>
</ul>
<a name="addConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addConnectionPool</h4>
<pre>void&nbsp;addConnectionPool(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a>&nbsp;pool)</pre>
<div class="block">PUBLIC:
 Connection are pooled to share and restrict the number of database connections.</div>
</li>
</ul>
<a name="getConnectionPool-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectionPool</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a>&nbsp;getConnectionPool(<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;poolName)</pre>
<div class="block">PUBLIC:
 Return the pool by name.</div>
</li>
</ul>
<a name="getDefaultConnectionPolicy--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultConnectionPolicy</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPolicy.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPolicy</a>&nbsp;getDefaultConnectionPolicy()</pre>
<div class="block">PUBLIC:
 The default connection policy is used by default by the acquireClientConnection() protocol.
 By default it uses the default connection pool.</div>
</li>
</ul>
<a name="getDefaultConnectionPool--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultConnectionPool</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a>&nbsp;getDefaultConnectionPool()</pre>
<div class="block">PUBLIC:
 Return the default connection pool.</div>
</li>
</ul>
<a name="getMaxNumberOfNonPooledConnections--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxNumberOfNonPooledConnections</h4>
<pre>int&nbsp;getMaxNumberOfNonPooledConnections()</pre>
<div class="block">PUBLIC:
 Return the number of non-pooled database connections allowed.
 This can be enforced to make up for the resource limitation of most JDBC drivers and database clients.
 By default this is 50.</div>
</li>
</ul>
<a name="getReadConnectionPool--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadConnectionPool</h4>
<pre><a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a>&nbsp;getReadConnectionPool()</pre>
<div class="block">PUBLIC:
 Handles allocating connections for read queries.
 <p>
 By default a read connection pool is not used, the default connection pool is used for reading.
 <p> The read connection pool is not used while in transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-"><code>setReadConnectionPool(ConnectionPool)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExclusiveReadConnectionPool-int-int-"><code>useExclusiveReadConnectionPool(int, int)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExternalReadConnectionPool--"><code>useExternalReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useReadConnectionPool-int-int-"><code>useReadConnectionPool(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="setDatasourceLogin-org.eclipse.persistence.sessions.Login-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDatasourceLogin</h4>
<pre>void&nbsp;setDatasourceLogin(<a href="../../../../../org/eclipse/persistence/sessions/Login.html" title="interface in org.eclipse.persistence.sessions">Login</a>&nbsp;login)</pre>
<div class="block">PUBLIC:
 Set the login.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html#setDatasourceLogin-org.eclipse.persistence.sessions.Login-">setDatasourceLogin</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/sessions/DatabaseSession.html" title="interface in org.eclipse.persistence.sessions">DatabaseSession</a></code></dd>
</dl>
</li>
</ul>
<a name="setDefaultConnectionPolicy-org.eclipse.persistence.sessions.server.ConnectionPolicy-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultConnectionPolicy</h4>
<pre>void&nbsp;setDefaultConnectionPolicy(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPolicy.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPolicy</a>&nbsp;defaultConnectionPolicy)</pre>
<div class="block">PUBLIC:
 The default connection policy is used by default by the acquireClientConnection() protocol.
 By default it uses the default connection pool.</div>
</li>
</ul>
<a name="setMaxNumberOfNonPooledConnections-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxNumberOfNonPooledConnections</h4>
<pre>void&nbsp;setMaxNumberOfNonPooledConnections(int&nbsp;maxNumberOfNonPooledConnections)</pre>
<div class="block">PUBLIC:
 Set the number of non-pooled database connections allowed.
 This can be enforced to make up for the resource limitation of most JDBC drivers and database clients.
 By default this is 50.</div>
</li>
</ul>
<a name="setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadConnectionPool</h4>
<pre>void&nbsp;setReadConnectionPool(<a href="../../../../../org/eclipse/persistence/sessions/server/ConnectionPool.html" title="class in org.eclipse.persistence.sessions.server">ConnectionPool</a>&nbsp;readConnectionPool)</pre>
<div class="block">PUBLIC:
 Sets the read connection pool directly.
 <p>
 Either <a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExclusiveReadConnectionPool-int-int-"><code>useExclusiveReadConnectionPool(int, int)</code></a> or <a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExternalReadConnectionPool--"><code>useExternalReadConnectionPool()</code></a> is
 called in the constructor.  For a connection pool using concurrent reading
 <a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useReadConnectionPool-int-int-"><code>useReadConnectionPool(int, int)</code></a> should be called on a new instance of <code>this</code>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/exceptions/ValidationException.html" title="class in org.eclipse.persistence.exceptions">ValidationException</a></code> - if already connected</dd>
</dl>
</li>
</ul>
<a name="useExclusiveReadConnectionPool-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useExclusiveReadConnectionPool</h4>
<pre>void&nbsp;useExclusiveReadConnectionPool(int&nbsp;minNumberOfConnections,
                                    int&nbsp;maxNumberOfConnections)</pre>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate exclusive <code>ConnectionPool</code>
 with the minimum and maximum number of connections.
 <p>
 A separate read connection pool is not used by default, by default the default connection pool is used for reading.
 A separate read connection pool can be used to dedicate a pool of connections only for reading.
 It can also be used to use a non-JTA DataSource for reading to avoid JTA overhead,
 or to use a different user login for reading.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getReadConnectionPool--"><code>getReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-"><code>setReadConnectionPool(ConnectionPool)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useReadConnectionPool-int-int-"><code>useReadConnectionPool(int, int)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExternalReadConnectionPool--"><code>useExternalReadConnectionPool()</code></a></dd>
</dl>
</li>
</ul>
<a name="useExclusiveReadConnectionPool-int-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useExclusiveReadConnectionPool</h4>
<pre>void&nbsp;useExclusiveReadConnectionPool(int&nbsp;initialNumberOfConnections,
                                    int&nbsp;minNumberOfConnections,
                                    int&nbsp;maxNumberOfConnections)</pre>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate exclusive <code>ConnectionPool</code>
 with the initial, minimum and maximum number of connections.
 <p>
 A separate read connection pool is not used by default, by default the default connection pool is used for reading.
 A separate read connection pool can be used to dedicate a pool of connections only for reading.
 It can also be used to use a non-JTA DataSource for reading to avoid JTA overhead,
 or to use a different user login for reading.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getReadConnectionPool--"><code>getReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-"><code>setReadConnectionPool(ConnectionPool)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useReadConnectionPool-int-int-"><code>useReadConnectionPool(int, int)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExternalReadConnectionPool--"><code>useExternalReadConnectionPool()</code></a></dd>
</dl>
</li>
</ul>
<a name="useExternalReadConnectionPool--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useExternalReadConnectionPool</h4>
<pre>void&nbsp;useExternalReadConnectionPool()</pre>
<div class="block">PUBLIC:
 Sets the read connection pool to be an <code>ExternalConnectionPool</code>.
 <p>
 This type of connection pool will be created and configured automatically if
 an external connection pooling is used.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getReadConnectionPool--"><code>getReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-"><code>setReadConnectionPool(ConnectionPool)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useReadConnectionPool-int-int-"><code>useReadConnectionPool(int, int)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExclusiveReadConnectionPool-int-int-"><code>useExclusiveReadConnectionPool(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="useReadConnectionPool-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useReadConnectionPool</h4>
<pre>void&nbsp;useReadConnectionPool(int&nbsp;minNumberOfConnections,
                           int&nbsp;maxNumberOfConnections)</pre>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate shared <code>ConnectionPool</code>
 with the minimum and maximum number of connections.
 <p>
 A separate read connection pool is not used by default, by default the default connection pool is used for reading.
 A separate read connection pool can be used to dedicate a pool of connections only for reading.
 It can also be used to use a non-JTA DataSource for reading to avoid JTA overhead,
 or to use a different user login for reading.
 <p>
 Since read connections are not used for writing, multiple users can
 theoretically use the same connection at the same time.
 However some JDBC drivers do not allow this, or have poor concurrency when this is done.
 <p>
 Use this read connection pool to take advantage of concurrent reading.
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minNumberOfConnections</code> - </dd>
<dd><code>maxNumberOfConnections</code> - As multiple readers can use the same connection
 concurrently fewer connections are needed.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getReadConnectionPool--"><code>getReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-"><code>setReadConnectionPool(ConnectionPool)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExternalReadConnectionPool--"><code>useExternalReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExclusiveReadConnectionPool-int-int-"><code>useExclusiveReadConnectionPool(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="useReadConnectionPool-int-int-int-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>useReadConnectionPool</h4>
<pre>void&nbsp;useReadConnectionPool(int&nbsp;initialNumberOfConnections,
                           int&nbsp;minNumberOfConnections,
                           int&nbsp;maxNumberOfConnections)</pre>
<div class="block">PUBLIC:
 Sets the read connection pool to be a separate shared <code>ConnectionPool</code>
 with the minimum and maximum number of connections.
 <p>
 A separate read connection pool is not used by default, by default the default connection pool is used for reading.
 A separate read connection pool can be used to dedicate a pool of connections only for reading.
 It can also be used to use a non-JTA DataSource for reading to avoid JTA overhead,
 or to use a different user login for reading.
 <p>
 Since read connections are not used for writing, multiple users can
 theoretically use the same connection at the same time.
 However some JDBC drivers do not allow this, or have poor concurrency when this is done.
 <p>
 Use this read connection pool to take advantage of concurrent reading.
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>initialNumberOfConnections</code> - connections connected at startup</dd>
<dd><code>minNumberOfConnections</code> - connections that are pooled</dd>
<dd><code>maxNumberOfConnections</code> - As multiple readers can use the same connection
 concurrently fewer connections are needed.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#getReadConnectionPool--"><code>getReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#setReadConnectionPool-org.eclipse.persistence.sessions.server.ConnectionPool-"><code>setReadConnectionPool(ConnectionPool)</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExternalReadConnectionPool--"><code>useExternalReadConnectionPool()</code></a>, 
<a href="../../../../../org/eclipse/persistence/sessions/server/Server.html#useExclusiveReadConnectionPool-int-int-"><code>useExclusiveReadConnectionPool(int, int)</code></a></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/sessions/server/ReadConnectionPool.html" title="class in org.eclipse.persistence.sessions.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/sessions/server/ServerSession.html" title="class in org.eclipse.persistence.sessions.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/sessions/server/Server.html" target="_top">Frames</a></li>
<li><a href="Server.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>
