ClientSubscriptionConfig (Apache Geode 2.0.2)
Description: declaration: package: org.apache.geode.cache.server, interface: ClientSubscriptionConfig

Package org.apache.geode.cache.server

# Interface ClientSubscriptionConfig

public interface ClientSubscriptionConfig
Used to configure queuing on a cache server for client subscriptions.

- For eviction-policy none client queue entries are not evicted to disk
- For eviction-policy mem client queue entries are evicted to disk when limit is reached, defined by capacity
- For eviction-policy entry HA entries are evicted to disk when limit is reached, defined by capacity

The capacity limits the total amount of memory or entries for all client queues on held on this server. If this server hosts multiple client queues, they will all share the same capacity.

Configuration:

The `client queue` is configurable declaratively or programmatically. Declarative configuration is achieved through defining the configuration parameters in a `cache.xml` file. Programmatic configuration may be achieved by first instantiating a `CacheServer` object and get `CacheServer.getClientSubscriptionConfig()` `ClientSubscriptionConfig` object and modify each desired parameter and value.

If you are using a `cache.xml` file to create a `CacheServer` declaratively, you can do the following to configure `ClientSubscriptionConfig` and to have none eviction policy no need to specify client-subscription tag as it is a default one.

     <cache-server port=4444>
       <client-subscription eviction-policy="entry | mem" capacity=35 overflow-directory="OverflowDir"></client-subscription>
     </cache-server>

Since:
  GemFire 5.7
See Also:
  - `getEvictionPolicy()`
  - `getCapacity()`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `DEFAULT_CAPACITY`
  The default limit that is assigned to client subscription.
  `static final String`
  `DEFAULT_EVICTION_POLICY`
  The default eviction policy that is assigned to client subscription.
  `static final String`
  `DEFAULT_OVERFLOW_DIRECTORY`
  The default overflow directory that is assigned to client subscription.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getCapacity()`
  Returns the capacity of the client queue.
  `String`
  `getDiskStoreName()`
  get the diskStoreName for overflow
  `String`
  `getEvictionPolicy()`
  Returns the eviction policy that is executed when capacity of the client queue is reached.
  `String`
  `getOverflowDirectory()`
  Deprecated.
  as of 6.5 use `getDiskStoreName()` instead
  `void`
  `setCapacity(int capacity)`
  Sets the capacity of the client queue.
  `void`
  `setDiskStoreName(String diskStoreName)`
  Sets the disk store name for overflow
  `void`
  `setEvictionPolicy(String policy)`
  Sets the eviction policy that is executed when capacity of the client queue is reached.
  `void`
  `setOverflowDirectory(String overflowDirectory)`
  Deprecated.
  as of 6.5 use `setDiskStoreName(String)` instead

- ## Field Details

  - ### DEFAULT_CAPACITY

    static final int DEFAULT_CAPACITY
    The default limit that is assigned to client subscription.
    See Also:
      - Constant Field Values

  - ### DEFAULT_EVICTION_POLICY

    static final String DEFAULT_EVICTION_POLICY
    The default eviction policy that is assigned to client subscription.
    See Also:
      - Constant Field Values

  - ### DEFAULT_OVERFLOW_DIRECTORY

    static final String DEFAULT_OVERFLOW_DIRECTORY
    The default overflow directory that is assigned to client subscription.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getCapacity

    int getCapacity()
    Returns the capacity of the client queue. will be in MB for eviction-policy mem else number of entries
    Returns:
      the capacity of the client queue
    Since:
      GemFire 5.7
    See Also:
      - `DEFAULT_CAPACITY`

  - ### setCapacity

    void setCapacity(int capacity)
    Sets the capacity of the client queue. will be in MB for eviction-policy mem else number of entries
    Parameters:
      `capacity` - the capacity of the client queue
    Since:
      GemFire 5.7
    See Also:
      - `DEFAULT_CAPACITY`

  - ### getEvictionPolicy

    String getEvictionPolicy()
    Returns the eviction policy that is executed when capacity of the client queue is reached.
    Returns:
      the eviction policy that is executed when capacity of the client queue is reached
    Since:
      GemFire 5.7
    See Also:
      - `DEFAULT_EVICTION_POLICY`

  - ### setEvictionPolicy

    void setEvictionPolicy(String policy)
    Sets the eviction policy that is executed when capacity of the client queue is reached.
    Parameters:
      `policy` - the eviction policy that is executed when capacity of the client queue is reached
    Since:
      GemFire 5.7
    See Also:
      - `DEFAULT_EVICTION_POLICY`

  - ### setOverflowDirectory

    @Deprecated void setOverflowDirectory(String overflowDirectory)
    Deprecated.
    as of 6.5 use `setDiskStoreName(String)` instead
    Sets the overflow directory for a client queue
    Parameters:
      `overflowDirectory` - the overflow directory for a client queue's overflowed entries
    Since:
      GemFire 5.7

  - ### getOverflowDirectory

    @Deprecated String getOverflowDirectory()
    Deprecated.
    as of 6.5 use `getDiskStoreName()` instead
    Answers the overflow directory for a client queue's overflowed client queue entries.
    Returns:
      the overflow directory for a client queue's overflowed entries
    Since:
      GemFire 5.7

  - ### setDiskStoreName

    void setDiskStoreName(String diskStoreName)
    Sets the disk store name for overflow
    Parameters:
      `diskStoreName` - the disk store name for overflow
    Since:
      GemFire 6.5

  - ### getDiskStoreName

    String getDiskStoreName()
    get the diskStoreName for overflow
    Returns:
      the diskStoreName for overflow
    Since:
      GemFire 6.5