<!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 -->
<title>ClientCache (Apache Geode 1.15.1)</title>
<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="ClientCache (Apache Geode 1.15.1)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/geode/cache/client/AllConnectionsInUseException.html" title="class in org.apache.geode.cache.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/client/ClientCacheFactory.html" title="class in org.apache.geode.cache.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/client/ClientCache.html" target="_top">Frames</a></li>
<li><a href="ClientCache.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.apache.geode.cache.client</div>
<h2 title="Interface ClientCache" class="title">Interface ClientCache</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html" title="interface in org.apache.geode.cache">GemFireCache</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache">RegionService</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ClientCache</span>
extends <a href="../../../../../org/apache/geode/cache/GemFireCache.html" title="interface in org.apache.geode.cache">GemFireCache</a></pre>
<div class="block">A ClientCache instance controls the life cycle of the local singleton cache in a client.

 <p>
 A ClientCache is created using <a href="../../../../../org/apache/geode/cache/client/ClientCacheFactory.html#create--"><code>ClientCacheFactory.create()</code></a>. See <a href="../../../../../org/apache/geode/cache/client/ClientCacheFactory.html" title="class in org.apache.geode.cache.client"><code>ClientCacheFactory</code></a>
 for common usage patterns for creating the client cache instance.

 <p>
 ClientCache provides access to functionality when a member connects as a client to GemFire
 servers. It provides the following services:
 <ul>
 <li>Access to existing regions (see <a href="../../../../../org/apache/geode/cache/RegionService.html#getRegion-java.lang.String-"><code>RegionService.getRegion(java.lang.String)</code></a> and <a href="../../../../../org/apache/geode/cache/RegionService.html#rootRegions--"><code>RegionService.rootRegions()</code></a>).
 <li>Creation of regions (see <a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createClientRegionFactory-org.apache.geode.cache.client.ClientRegionShortcut-"><code>createClientRegionFactory(ClientRegionShortcut)</code></a> and
 <a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createClientRegionFactory-java.lang.String-"><code>createClientRegionFactory(String)</code></a>).
 <li>Access the query service (see <a href="../../../../../org/apache/geode/cache/client/ClientCache.html#getQueryService-java.lang.String-"><code>getQueryService(java.lang.String)</code></a> and
 <a href="../../../../../org/apache/geode/cache/client/ClientCache.html#getLocalQueryService--"><code>getLocalQueryService()</code></a>).</li>
 <li>Access the GemFire logger (see <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getLogger--"><code>GemFireCache.getLogger()</code></a>).</li>
 <li>Access the GemFire distributed system (see <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getDistributedSystem--"><code>GemFireCache.getDistributedSystem()</code></a>).</li>
 <li>Access the GemFire resource manager (see <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getResourceManager--"><code>GemFireCache.getResourceManager()</code></a>).</li>
 <li>Manages local disk stores for this cache instance (see <a href="../../../../../org/apache/geode/cache/GemFireCache.html#createDiskStoreFactory--"><code>GemFireCache.createDiskStoreFactory()</code></a>).</li>
 <li>Creation of authenticated cache views that support multiple users (see
 <a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createAuthenticatedView-java.util.Properties-"><code>createAuthenticatedView(java.util.Properties)</code></a>).
 </ul>

 <p>
 A ClientCache connects to a server using a <a href="../../../../../org/apache/geode/cache/client/Pool.html" title="interface in org.apache.geode.cache.client"><code>Pool</code></a>. This pool can be configured in the
 ClientCacheFactory (by default GemFire tries to create a pool which tries to connect to a server
 on the localhost on port 40404). This default pool is used by <a href="../../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache"><code>Region</code></a>s (created using
 <a href="../../../../../org/apache/geode/cache/client/ClientRegionFactory.html" title="interface in org.apache.geode.cache.client"><code>ClientRegionFactory</code></a>) to talk to regions on the server.

 <p>
 More pools can be created using <a href="../../../../../org/apache/geode/cache/client/PoolManager.html" title="class in org.apache.geode.cache.client"><code>PoolManager</code></a> or by declaring them in cache.xml.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 6.5</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#close-boolean-">close</a></span>(boolean&nbsp;keepalive)</code>
<div class="block">Terminates this object cache and releases all the resources.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache">RegionService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createAuthenticatedView-java.util.Properties-">createAuthenticatedView</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;userSecurityProperties)</code>
<div class="block">Creates an authenticated cache view using the given user security properties on the client
 cache's default pool.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache">RegionService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createAuthenticatedView-java.util.Properties-java.lang.String-">createAuthenticatedView</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;userSecurityProperties,
                       <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">Creates an authenticated cache view using the given user security properties using the given
 pool to connect to servers.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/geode/cache/client/ClientRegionFactory.html" title="interface in org.apache.geode.cache.client">ClientRegionFactory</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createClientRegionFactory-org.apache.geode.cache.client.ClientRegionShortcut-">createClientRegionFactory</a></span>(<a href="../../../../../org/apache/geode/cache/client/ClientRegionShortcut.html" title="enum in org.apache.geode.cache.client">ClientRegionShortcut</a>&nbsp;shortcut)</code>
<div class="block">Create and return a client region factory that is initialized to create a region using the
 given predefined region attributes.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/geode/cache/client/ClientRegionFactory.html" title="interface in org.apache.geode.cache.client">ClientRegionFactory</a>&lt;K,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createClientRegionFactory-java.lang.String-">createClientRegionFactory</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;regionAttributesId)</code>
<div class="block">Create and return a client region factory that is initialized to create a region using the
 given named region attributes.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#getCurrentServers--">getCurrentServers</a></span>()</code>
<div class="block">Returns a set of the servers to which this client is currently connected.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/client/Pool.html" title="interface in org.apache.geode.cache.client">Pool</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#getDefaultPool--">getDefaultPool</a></span>()</code>
<div class="block">Returns the default server pool.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/query/QueryService.html" title="interface in org.apache.geode.cache.query">QueryService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#getLocalQueryService--">getLocalQueryService</a></span>()</code>
<div class="block">Return a QueryService that queries the local state in the client cache.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/query/QueryService.html" title="interface in org.apache.geode.cache.query">QueryService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#getQueryService-java.lang.String-">getQueryService</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">Return the QueryService for the named pool.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/client/ClientCache.html#readyForEvents--">readyForEvents</a></span>()</code>
<div class="block">Notifies the server that this durable client is ready to receive updates.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.GemFireCache">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../../org/apache/geode/cache/GemFireCache.html" title="interface in org.apache.geode.cache">GemFireCache</a></h3>
<code><a href="../../../../../org/apache/geode/cache/GemFireCache.html#createDiskStoreFactory--">createDiskStoreFactory</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#createGatewaySenderFactory--">createGatewaySenderFactory</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#findDiskStore-java.lang.String-">findDiskStore</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getCacheTransactionManager--">getCacheTransactionManager</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getCopyOnRead--">getCopyOnRead</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getDistributedSystem--">getDistributedSystem</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getInitializer--">getInitializer</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getInitializerProps--">getInitializerProps</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getJNDIContext--">getJNDIContext</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getLogger--">getLogger</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getName--">getName</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getPdxDiskStore--">getPdxDiskStore</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getPdxIgnoreUnreadFields--">getPdxIgnoreUnreadFields</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getPdxPersistent--">getPdxPersistent</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getPdxReadSerialized--">getPdxReadSerialized</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getPdxSerializer--">getPdxSerializer</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getRegionAttributes-java.lang.String-">getRegionAttributes</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getResourceManager--">getResourceManager</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#getSecurityLogger--">getSecurityLogger</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#listRegionAttributes--">listRegionAttributes</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#loadCacheXml-java.io.InputStream-">loadCacheXml</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#registerPdxMetaData-java.lang.Object-">registerPdxMetaData</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#setCopyOnRead-boolean-">setCopyOnRead</a>, <a href="../../../../../org/apache/geode/cache/GemFireCache.html#setRegionAttributes-java.lang.String-org.apache.geode.cache.RegionAttributes-">setRegionAttributes</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.RegionService">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache">RegionService</a></h3>
<code><a href="../../../../../org/apache/geode/cache/RegionService.html#close--">close</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#createPdxEnum-java.lang.String-java.lang.String-int-">createPdxEnum</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#createPdxInstanceFactory-java.lang.String-">createPdxInstanceFactory</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#getCancelCriterion--">getCancelCriterion</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#getJsonFormatter--">getJsonFormatter</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#getQueryService--">getQueryService</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#getRegion-java.lang.String-">getRegion</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#isClosed--">isClosed</a>, <a href="../../../../../org/apache/geode/cache/RegionService.html#rootRegions--">rootRegions</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="getQueryService-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryService</h4>
<pre><a href="../../../../../org/apache/geode/cache/query/QueryService.html" title="interface in org.apache.geode.cache.query">QueryService</a>&nbsp;getQueryService(<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">Return the QueryService for the named pool. The query operations performed using this
 QueryService will be executed on the servers that are associated with this pool.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>poolName</code> - the name of the pool</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the QueryService for the named pool</dd>
</dl>
</li>
</ul>
<a name="getLocalQueryService--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalQueryService</h4>
<pre><a href="../../../../../org/apache/geode/cache/query/QueryService.html" title="interface in org.apache.geode.cache.query">QueryService</a>&nbsp;getLocalQueryService()</pre>
<div class="block">Return a QueryService that queries the local state in the client cache. These queries will not
 be sent to a server.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a QueryService that queries the local state in the client cache</dd>
</dl>
</li>
</ul>
<a name="close-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close(boolean&nbsp;keepalive)</pre>
<div class="block">Terminates this object cache and releases all the resources. Calls <a href="../../../../../org/apache/geode/cache/Region.html#close--"><code>Region.close()</code></a> on each
 region in the cache. After this cache is closed, any further method call on this cache or any
 region object will throw <a href="../../../../../org/apache/geode/cache/CacheClosedException.html" title="class in org.apache.geode.cache"><code>CacheClosedException</code></a>, unless otherwise noted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keepalive</code> - whether the server should keep the durable client's queues alive for the
        timeout period</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/geode/cache/CacheClosedException.html" title="class in org.apache.geode.cache">CacheClosedException</a></code> - if the cache is already closed.</dd>
</dl>
</li>
</ul>
<a name="createClientRegionFactory-org.apache.geode.cache.client.ClientRegionShortcut-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createClientRegionFactory</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/geode/cache/client/ClientRegionFactory.html" title="interface in org.apache.geode.cache.client">ClientRegionFactory</a>&lt;K,V&gt;&nbsp;createClientRegionFactory(<a href="../../../../../org/apache/geode/cache/client/ClientRegionShortcut.html" title="enum in org.apache.geode.cache.client">ClientRegionShortcut</a>&nbsp;shortcut)</pre>
<div class="block">Create and return a client region factory that is initialized to create a region using the
 given predefined region attributes.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>K</code> - the type of keys in the region</dd>
<dd><code>V</code> - the type of values in the region</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>shortcut</code> - the predefined region attributes to initialize the factory with.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a factory that will produce a client region.</dd>
</dl>
</li>
</ul>
<a name="createClientRegionFactory-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createClientRegionFactory</h4>
<pre>&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/geode/cache/client/ClientRegionFactory.html" title="interface in org.apache.geode.cache.client">ClientRegionFactory</a>&lt;K,V&gt;&nbsp;createClientRegionFactory(<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;regionAttributesId)</pre>
<div class="block">Create and return a client region factory that is initialized to create a region using the
 given named region attributes.

 <p>
 Named region attributes are defined in cache.xml by setting the name as the value of the
 <code>id</code> attribute on a <code>region-attributes</code> element.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>K</code> - the type of keys in the region</dd>
<dd><code>V</code> - the type of values in the region</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>regionAttributesId</code> - the named region attributes to initialize the factory with.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a factory that will produce a client region.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if named region attributes has not been defined.</dd>
</dl>
</li>
</ul>
<a name="readyForEvents--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readyForEvents</h4>
<pre>void&nbsp;readyForEvents()</pre>
<div class="block">Notifies the server that this durable client is ready to receive updates. This method is used
 by durable clients to notify servers that they are ready to receive updates. As soon as the
 server receives this message, it will forward updates to this client (if necessary).

 <p>
 Durable clients must call this method after they are done creating regions and issuing interest
 registration requests.If it is called before then events will be lost.Any time a new
 <a href="../../../../../org/apache/geode/cache/client/Pool.html" title="interface in org.apache.geode.cache.client"><code>Pool</code></a> is created and regions have been added to it then this method needs to be called
 again.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if called by a non-durable client</dd>
</dl>
</li>
</ul>
<a name="createAuthenticatedView-java.util.Properties-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAuthenticatedView</h4>
<pre><a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache">RegionService</a>&nbsp;createAuthenticatedView(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;userSecurityProperties)</pre>
<div class="block">Creates an authenticated cache view using the given user security properties on the client
 cache's default pool. Multiple views with different user properties can be created on a single
 client cache.

 <p>
 Requires that <a href="../../../../../org/apache/geode/cache/client/ClientCacheFactory.html#setPoolMultiuserAuthentication-boolean-"><code>multiuser-authentication</code></a> to be set to true on the default pool.

 <p>
 Applications must use this instance to do operations, when multiuser-authentication is set to
 true.

 <p>
 Authenticated cache views are only allows to access <a href="../../../../../org/apache/geode/cache/client/ClientRegionShortcut.html#PROXY"><code>proxy</code></a>
 regions. The <a href="../../../../../org/apache/geode/cache/RegionService.html#getRegion-java.lang.String-"><code>RegionService.getRegion(java.lang.String)</code></a> method will throw IllegalStateException if an
 attempt is made to get a region that has local storage.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>userSecurityProperties</code> - the security properties of a user.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache"><code>RegionService</code></a> instance associated with a user and the given properties.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang">UnsupportedOperationException</a></code> - when invoked with multiuser-authentication as false.</dd>
</dl>
</li>
</ul>
<a name="createAuthenticatedView-java.util.Properties-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAuthenticatedView</h4>
<pre><a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache">RegionService</a>&nbsp;createAuthenticatedView(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;userSecurityProperties,
                                      <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">Creates an authenticated cache view using the given user security properties using the given
 pool to connect to servers. Requires that
 <a href="../../../../../org/apache/geode/cache/client/PoolFactory.html#setMultiuserAuthentication-boolean-"><code>multiuser-authentication</code></a> to be set to
 true on the given pool.

 <p>
 See <a href="../../../../../org/apache/geode/cache/client/ClientCache.html#createAuthenticatedView-java.util.Properties-"><code>createAuthenticatedView(Properties)</code></a> for more information on the returned cache
 view.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>userSecurityProperties</code> - the security properties of a user.</dd>
<dd><code>poolName</code> - - the pool that the users should be authenticated against.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache"><code>RegionService</code></a> instance associated with a user and the given properties.</dd>
</dl>
</li>
</ul>
<a name="getCurrentServers--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentServers</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;getCurrentServers()</pre>
<div class="block">Returns a set of the servers to which this client is currently connected.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a set of the servers to which this client is currently connected</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 6.6</dd>
</dl>
</li>
</ul>
<a name="getDefaultPool--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getDefaultPool</h4>
<pre><a href="../../../../../org/apache/geode/cache/client/Pool.html" title="interface in org.apache.geode.cache.client">Pool</a>&nbsp;getDefaultPool()</pre>
<div class="block">Returns the default server pool. If one or more non-default pools were configured, this may
 return null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default server pool</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 7.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/geode/cache/client/Pool.html" title="interface in org.apache.geode.cache.client"><code>Pool</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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/geode/cache/client/AllConnectionsInUseException.html" title="class in org.apache.geode.cache.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/client/ClientCacheFactory.html" title="class in org.apache.geode.cache.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/client/ClientCache.html" target="_top">Frames</a></li>
<li><a href="ClientCache.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 ======= -->
</body>
</html>
