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 Detail

      • 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 java.lang.String DEFAULT_EVICTION_POLICY
        The default eviction policy that is assigned to client subscription.
        See Also:
        Constant Field Values
      • DEFAULT_OVERFLOW_DIRECTORY

        static final java.lang.String DEFAULT_OVERFLOW_DIRECTORY
        The default overflow directory that is assigned to client subscription.
        See Also:
        Constant Field Values
    • Method Detail

      • 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

        java.lang.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​(java.lang.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​(java.lang.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
        java.lang.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​(java.lang.String diskStoreName)
        Sets the disk store name for overflow
        Parameters:
        diskStoreName - the disk store name for overflow
        Since:
        GemFire 6.5
      • getDiskStoreName

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