The `org.apache.geode.cache.client` package provides APIs used for client connectivity and caching.

Most clients will only need to create a {@link org.apache.geode.cache.client.ClientCache} using a {@link org.apache.geode.cache.client.ClientCacheFactory}.

A client configures the servers it will connect to by creating one or more {@link org.apache.geode.cache.client.Pool pools}. For most use cases one pool per client is all you need and the easiest way to get a single pool is to use {@link org.apache.geode.cache.client.ClientCacheFactory}. If you do need more than one pool use a {@link org.apache.geode.cache.client.PoolFactory pool factory} obtained from the {@link org.apache.geode.cache.client.PoolManager pool manager} before you create the cache using {@link org.apache.geode.cache.client.ClientCacheFactory}.

An alternative to these APIs is to use the `pool` XML element as described in the `cache6_5.dtd`.

If you create more than one pool then for regions that will use a pool you need to configure the pool name on the regions. This can be done by setting the pool name on the region using the {@link org.apache.geode.cache.client.ClientRegionFactory#setPoolName API} or using the `pool-name` attribute on the `region-attributes` as described in the `cache6_5.dtd`.

## Client Declarative Caching

A "caching XML file" declares regions, entries, and attributes. When a `ClientCache` is created its contents can be initialized according to a caching XML file. The top level element must be a client-cache element.

The Document Type Definition for a declarative cache XML file can be found in `"doc-files/cache6_5.dtd"`. For examples of declarative cache XML files see example1.