Managing a Client Cache

You have several options for client cache configuration. Start your client cache using a combination of XML declarations and API calls. Close the client cache when you are done.

GemFire clients are processes that send most or all of their data requests and updates to a GemFire server system. Clients run as standalone processes, without peers of their own.

Note: GemFire automatically configures the distributed system for your ClientCache as standalone, which means the client has no peers. Do not try to set the gemfire.properties mcast-port or locators for a client application or the system will throw an exception.

  1. Create your client cache:
    1. In your cache.xml, use the client-cache DOCTYPE and configure your cache inside a <client-cache> element. Configure your server connection pool and your regions as needed. Example:
      <!DOCTYPE client-cache PUBLIC
      	"-//GemStone Systems, Inc.//GemFire Declarative Caching 6.6//EN" "http://www.gemstone.com/dtd/cache6_6.dtd">
      <client-cache>
      	<pool name="serverPool">
      		<locator host="host1" port="44444"/>
      	</pool>
      	<region name="exampleRegion" refid="PROXY"/>
      </client-cache>
    2. If you use multiple server pools, configure the pool name explicitly for each client region. Example:
      <pool name="svrPool1">
      	<locator host="host1" port="40404"/>
      </pool>
      <pool name="svrPool2">
      	<locator host="host2" port="40404"/>
      </pool>
      <region name="clientR1" refid="PROXY" pool-name="svrPool1"/>	
      <region name="clientR2" refid="PROXY" pool-name="svrPool2"/>
      <region name="clientsPrivateR" refid="LOCAL"/>
    3. In your Java client application, create the cache using the ClientCacheFactory create method. Example:
      ClientCache clientCache = new ClientCacheFactory().create();
      This creates the server connections and initializes the client’s cache according to your gemfire.properties and cache.xml specifications.
  2. Close your cache when you are done using the close method of your Cache instance:
    cache.close();
    If your client is durable and you want to maintain your durable queues while the client cache is closed, use:
    clientCache.close(true);