org.apache.geode.management

## Interface CacheServerMXBean

-     public interface CacheServerMXBean

  MBean that provides access to information and management functionality for a `CacheServer`.

  The will be one CacheServerMBean per `CacheServer` started in GemFire node.

  ObjectName for this MBean is GemFire:service=CacheServer,port={0},type=Member,member={1}

  Notification Type | Notification Source | Message
  --- | --- | ---
  gemfire.distributedsystem.cacheserver.client.joined | CacheServer MBean Name | Client joined with Id <Client ID>
  gemfire.distributedsystem.cacheserver.client.left | CacheServer MBean Name | Client crashed with Id <Client ID>
  gemfire.distributedsystem.cacheserver.client.crashed | CacheServer MBean Name | Client left with Id <Client ID>

  Since:
    GemFire 7.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `closeAllContinuousQuery(java.lang.String regionName)` Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.
    `void` | `closeContinuousQuery(java.lang.String queryName)` Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.
    `void` | `executeContinuousQuery(java.lang.String queryName)` Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.
    `ServerLoadData` | `fetchLoadProbe()` Returns the load probe for this CacheServer.
    `long` | `getActiveCQCount()` Returns the number of active (currently executing) CQs.
    `java.lang.String` | `getBindAddress()` Returns a string representing the IP address or host name that this CacheServer will listen on.
    `int` | `getCapacity()` Returns the capacity (in megabytes) of the client queue.
    `int` | `getClientConnectionCount()` Returns the number of sockets accepted and used for client to server messaging.
    `java.lang.String[]` | `getClientIds()` Returns a list of IDs for all connected clients.
    `long` | `getClientNotificationAvgLatency()` Returns the average latency for processing client notifications.
    `float` | `getClientNotificationRate()` Returns the rate of client notifications.
    `double` | `getConnectionLoad()` Returns the load from client to server connections as reported by the load probe installed in this server.
    `int` | `getConnectionThreads()` Returns the current number of threads handling a client connection.
    `java.lang.String[]` | `getContinuousQueryList()` Returns a list of names for all registered CQs.
    `int` | `getCurrentClients()` Returns the number of client virtual machines connected.
    `java.lang.String` | `getDiskStoreName()` Returns the name of the disk store that is used for persistence.
    `java.lang.String` | `getEvictionPolicy()` Returns the eviction policy that is executed when the capacity of the client queue is reached.
    `long` | `getGetRequestAvgLatency()` Returns the average get request latency.
    `float` | `getGetRequestRate()` Returns the rate of get requests.
    `java.lang.String` | `getHostNameForClients()` Returns the name or IP address to pass to the client as the location where the server is listening.
    `int` | `getIndexCount()` Returns the total number of indexes in use by the member.
    `java.lang.String[]` | `getIndexList()` Returns a list of names for all indexes.
    `double` | `getLoadPerConnection()` Returns the estimate of how much load is added for each new connection as reported by the load probe installed in this server.
    `double` | `getLoadPerQueue()` Returns the estimate of how much load is added for each new queue as reported by the load probe installed in this server.
    `long` | `getLoadPollInterval()` Returns the frequency (in milliseconds) to poll the load probe on this CacheServer.
    `int` | `getMaxConnections()` Returns the maximum allowed client connections.
    `int` | `getMaximumMessageCount()` Returns the maximum number of messages that can be enqueued in a client-queue.
    `int` | `getMaximumTimeBetweenPings()` Returns the maximum amount of time between client pings.
    `int` | `getMaxThreads()` Returns the maximum number of threads allowed in this CacheServer to service client requests.
    `int` | `getMessageTimeToLive()` Returns the time (in seconds) after which a message in the client queue will expire.
    `int` | `getNumClientNotificationRequests()` Returns the number of cache client notification requests.
    `int` | `getNumSubscriptions()` Returns the number of clients who have existing subscriptions.
    `int` | `getPort()` Returns the port on which this CacheServer listens for clients.
    `long` | `getPutRequestAvgLatency()` Returns the average put request latency.
    `float` | `getPutRequestRate()` Returns the rate of put requests.
    `float` | `getQueryRequestRate()` Returns the rate of queries.
    `double` | `getQueueLoad()` Returns the load from queues as reported by the load probe installed in this server.
    `long` | `getRegisteredCQCount()` Returns the number of registered CQs.
    `int` | `getSocketBufferSize()` Returns the configured buffer size of the socket connection for this CacheServer.
    `int` | `getThreadQueueSize()` Returns the current number of connections waiting for a thread to start processing their message.
    `int` | `getTotalConnectionsTimedOut()` Returns the total number of client connections that timed out and were closed.
    `int` | `getTotalFailedConnectionAttempts()` Returns the total number of client connection requests that failed.
    `long` | `getTotalIndexMaintenanceTime()` Returns the total time spent updating indexes due to changes in the data.
    `long` | `getTotalReceivedBytes()` Returns the total number of bytes received from clients.
    `long` | `getTotalSentBytes()` Returns the total number of bytes sent to clients.
    `boolean` | `isRunning()` Returns whether or not this CacheServer is running.
    `void` | `removeIndex(java.lang.String indexName)` Remove an index.
    `ClientHealthStatus[]` | `showAllClientStats()` Returns health and statistic information for all clients.
    `ClientQueueDetail[]` | `showClientQueueDetails()` Shows a list of client with their queue statistics.
    `ClientQueueDetail` | `showClientQueueDetails(java.lang.String clientId)` Shows queue statistics of the given client.
    `ClientHealthStatus` | `showClientStats(java.lang.String clientId)` Returns health and statistic information for the give client id.
    `void` | `stopContinuousQuery(java.lang.String queryName)` Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.

- - ### Method Detail

    - #### getPort

          int getPort()

      Returns the port on which this CacheServer listens for clients.

    - #### getBindAddress

          java.lang.String getBindAddress()

      Returns a string representing the IP address or host name that this CacheServer will listen on.

    - #### getSocketBufferSize

          int getSocketBufferSize()

      Returns the configured buffer size of the socket connection for this CacheServer.

    - #### getMaximumTimeBetweenPings

          int getMaximumTimeBetweenPings()

      Returns the maximum amount of time between client pings. This value is used to determine the health of client's attached to the server.

    - #### getMaxConnections

          int getMaxConnections()

      Returns the maximum allowed client connections.

    - #### getMaxThreads

          int getMaxThreads()

      Returns the maximum number of threads allowed in this CacheServer to service client requests.

    - #### getMaximumMessageCount

          int getMaximumMessageCount()

      Returns the maximum number of messages that can be enqueued in a client-queue.

    - #### getMessageTimeToLive

          int getMessageTimeToLive()

      Returns the time (in seconds) after which a message in the client queue will expire.

    - #### getLoadPollInterval

          long getLoadPollInterval()

      Returns the frequency (in milliseconds) to poll the load probe on this CacheServer.

    - #### getHostNameForClients

          java.lang.String getHostNameForClients()

      Returns the name or IP address to pass to the client as the location where the server is listening. When the server connects to the locator it tells the locator the host and port where it is listening for client connections. If the host the server uses by default is one that the client can’t translate into an IP address, the client will have no route to the server’s host and won’t be able to find the server. For this situation, you must supply the server’s alternate hostname for the locator to pass to the client.

    - #### fetchLoadProbe

          ServerLoadData fetchLoadProbe()

      Returns the load probe for this CacheServer.

    - #### isRunning

          boolean isRunning()

      Returns whether or not this CacheServer is running.
      Returns:
        True of the server is running, false otherwise.

    - #### getCapacity

          int getCapacity()

      Returns the capacity (in megabytes) of the client queue.

    - #### getEvictionPolicy

          java.lang.String getEvictionPolicy()

      Returns the eviction policy that is executed when the capacity of the client queue is reached.

    - #### getDiskStoreName

          java.lang.String getDiskStoreName()

      Returns the name of the disk store that is used for persistence.

    - #### getClientConnectionCount

          int getClientConnectionCount()

      Returns the number of sockets accepted and used for client to server messaging.

    - #### getCurrentClients

          int getCurrentClients()

      Returns the number of client virtual machines connected.

    - #### getGetRequestAvgLatency

          long getGetRequestAvgLatency()

      Returns the average get request latency.

    - #### getPutRequestAvgLatency

          long getPutRequestAvgLatency()

      Returns the average put request latency.

    - #### getTotalConnectionsTimedOut

          int getTotalConnectionsTimedOut()

      Returns the total number of client connections that timed out and were closed.

    - #### getTotalFailedConnectionAttempts

          int getTotalFailedConnectionAttempts()

      Returns the total number of client connection requests that failed.

    - #### getThreadQueueSize

          int getThreadQueueSize()

      Returns the current number of connections waiting for a thread to start processing their message.

    - #### getConnectionThreads

          int getConnectionThreads()

      Returns the current number of threads handling a client connection.

    - #### getConnectionLoad

          double getConnectionLoad()

      Returns the load from client to server connections as reported by the load probe installed in this server.

    - #### getLoadPerConnection

          double getLoadPerConnection()

      Returns the estimate of how much load is added for each new connection as reported by the load probe installed in this server.

    - #### getQueueLoad

          double getQueueLoad()

      Returns the load from queues as reported by the load probe installed in this server.

    - #### getLoadPerQueue

          double getLoadPerQueue()

      Returns the estimate of how much load is added for each new queue as reported by the load probe installed in this server.

    - #### getGetRequestRate

          float getGetRequestRate()

      Returns the rate of get requests.

    - #### getPutRequestRate

          float getPutRequestRate()

      Returns the rate of put requests.

    - #### getTotalSentBytes

          long getTotalSentBytes()

      Returns the total number of bytes sent to clients.

    - #### getTotalReceivedBytes

          long getTotalReceivedBytes()

      Returns the total number of bytes received from clients.

    - #### getNumClientNotificationRequests

          int getNumClientNotificationRequests()

      Returns the number of cache client notification requests.

    - #### getClientNotificationAvgLatency

          long getClientNotificationAvgLatency()

      Returns the average latency for processing client notifications.

    - #### getClientNotificationRate

          float getClientNotificationRate()

      Returns the rate of client notifications.

    - #### getRegisteredCQCount

          long getRegisteredCQCount()

      Returns the number of registered CQs.

    - #### getActiveCQCount

          long getActiveCQCount()

      Returns the number of active (currently executing) CQs.

    - #### getQueryRequestRate

          float getQueryRequestRate()

      Returns the rate of queries.

    - #### getIndexCount

          int getIndexCount()

      Returns the total number of indexes in use by the member.

    - #### getIndexList

          java.lang.String[] getIndexList()

      Returns a list of names for all indexes.

    - #### getTotalIndexMaintenanceTime

          long getTotalIndexMaintenanceTime()

      Returns the total time spent updating indexes due to changes in the data.

    - #### removeIndex

          void removeIndex(java.lang.String indexName)
                    throws java.lang.Exception

      Remove an index.
      Parameters:
        `indexName` - Name of the index to be removed.
      Throws:
        `java.lang.Exception`

    - #### getContinuousQueryList

          java.lang.String[] getContinuousQueryList()

      Returns a list of names for all registered CQs.

    - #### executeContinuousQuery

          @Deprecated
          void executeContinuousQuery(java.lang.String queryName)
                                           throws java.lang.Exception

      Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.
      Execute an ad-hoc CQ on the server
      Parameters:
        `queryName` - Name of the CQ to execute.
      Throws:
        `java.lang.Exception`

    - #### stopContinuousQuery

          @Deprecated
          void stopContinuousQuery(java.lang.String queryName)
                                        throws java.lang.Exception

      Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.
      Stop (pause) a CQ from executing
      Parameters:
        `queryName` - Name of the CQ to stop.
      Throws:
        `java.lang.Exception`

    - #### closeAllContinuousQuery

          @Deprecated
          void closeAllContinuousQuery(java.lang.String regionName)
                                            throws java.lang.Exception

      Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.
      Unregister all CQs from a region
      Parameters:
        `regionName` - Name of the region from which to remove CQs.
      Throws:
        `java.lang.Exception`

    - #### closeContinuousQuery

          @Deprecated
          void closeContinuousQuery(java.lang.String queryName)
                                         throws java.lang.Exception

      Deprecated. This method is dangerous because it only modifies the target cache server - other copies of the CQ on other servers are not affected. Using the client side CQ methods to modify a CQ.
      Unregister a CQ
      Parameters:
        `queryName` - Name of the CQ to unregister.
      Throws:
        `java.lang.Exception`

    - #### getClientIds

          java.lang.String[] getClientIds()
                                   throws java.lang.Exception

      Returns a list of IDs for all connected clients.
      Returns:
        A list of IDs or a length 0 array if no clients are registered.
      Throws:
        `java.lang.Exception`

    - #### showClientStats

          ClientHealthStatus showClientStats(java.lang.String clientId)
                                      throws java.lang.Exception

      Returns health and statistic information for the give client id. Some of the information (CPUs, NumOfCacheListenerCalls, NumOfGets,NumOfMisses, NumOfPuts,NumOfThreads, ProcessCpuTime) only available for clients which have set a "StatisticsInterval".
      Parameters:
        `clientId` - ID of the client for which to retrieve information.
      Throws:
        `java.lang.Exception`

    - #### getNumSubscriptions

          int getNumSubscriptions()

      Returns the number of clients who have existing subscriptions.

    - #### showAllClientStats

          ClientHealthStatus[] showAllClientStats()
                                           throws java.lang.Exception

      Returns health and statistic information for all clients. Some of the information (CPUs, NumOfCacheListenerCalls, NumOfGets,NumOfMisses, NumOfPuts,NumOfThreads, ProcessCpuTime) only available for clients which have set a "StatisticsInterval".
      Throws:
        `java.lang.Exception`

    - #### showClientQueueDetails

          ClientQueueDetail[] showClientQueueDetails()
                                              throws java.lang.Exception

      Shows a list of client with their queue statistics. Client queue statistics shown in this method are the following eventsEnqueued,eventsRemoved , eventsConflated ,markerEventsConflated , eventsExpired, eventsRemovedByQrm , eventsTaken , numVoidRemovals
      Returns:
        an array of ClientQueueDetail
      Throws:
        `java.lang.Exception`

    - #### showClientQueueDetails

          ClientQueueDetail showClientQueueDetails(java.lang.String clientId)
                                            throws java.lang.Exception

      Shows queue statistics of the given client. Client queue statistics shown in this method are the following eventsEnqueued,eventsRemoved , eventsConflated ,markerEventsConflated , eventsExpired, eventsRemovedByQrm , eventsTaken , numVoidRemovals
      Parameters:
        `clientId` - the ID of client which is returned by the attribute ClientIds
      Throws:
        `java.lang.Exception`