Interface WebClusterNode


  • public interface WebClusterNode
    This interface contains a set of properties of a cluster node (an Intelligence Server).
    Since:
    MicroStrategy Web 7.3.1 or earlier
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getBusyConnections()
      Returns the number of busy connections in the connection pool.
      int getConnectionPoolSize()
      Returns the number of connections in the connection pool.
      int getFreeConnections()
      Returns the number of free connections in the connection pool.
      boolean getKeepAlive()
      get current keepalive option status
      int getLoad()
      Returns the current load on the Intelligence Server
      int getLoadBalanceFactor()
      This method gives the current load balance factor of the current cluster node.
      java.lang.String getNodeName()
      Returns the name of the Intelligence Server.
      int getOpenConnections()
      Returns the number of connections that the connection pool has open to the Intelligence server at the current time.
      int getPort()
      Returns the remote port of the Intelligence Server
      int getTimeoutsAbsolute()
      Returns the number of times a thread has timed out while waiting for a connection from the connection pool.
      int getWaitingThreads()
      Returns the current number of threads that are waiting for a connection from the connection pool.
      void setConnectionPoolSize​(int newSize)
      Changes the maximum number of connections in the connection pool.
      void setKeepAlive​(boolean option)
      Enable/disable keepalive signal for socket connections between i-server cluster and web server
      void setLoadBalanceFactor​(int loadBalanceFactor)
      This method can be used when a web server administrator wants load to be distributed between clustered Intelligence Servers unevenly.
    • Method Detail

      • getBusyConnections

        int getBusyConnections()
        Returns the number of busy connections in the connection pool.
        Returns:
        Number of busy connections.
      • getConnectionPoolSize

        int getConnectionPoolSize()
        Returns the number of connections in the connection pool.
        Returns:
        Total number of connections.
      • getFreeConnections

        int getFreeConnections()
        Returns the number of free connections in the connection pool.
        Returns:
        Number of free connections.
      • getLoad

        int getLoad()
        Returns the current load on the Intelligence Server
        Returns:
        Current load on the Server.
      • getLoadBalanceFactor

        int getLoadBalanceFactor()
        This method gives the current load balance factor of the current cluster node.
        Returns:
        The current load balance factor of the cluster node.
      • getNodeName

        java.lang.String getNodeName()
        Returns the name of the Intelligence Server.
        Returns:
        The name of the node.
      • getOpenConnections

        int getOpenConnections()
        Returns the number of connections that the connection pool has open to the Intelligence server at the current time. Note that because of dynamic growth/shrinkage of the connection pool, this number is not necessarily equal to the maximum number of connections in the pool.
        Returns:
        The current number of connections that the API connection pool is maintaining to this server.
      • getPort

        int getPort()
        Returns the remote port of the Intelligence Server
        Returns:
        The port number of the Server.
      • getTimeoutsAbsolute

        int getTimeoutsAbsolute()
        Returns the number of times a thread has timed out while waiting for a connection from the connection pool. This number is an absolute number of timeouts, counted from when this instance of the API was created. The data returned from this function is used best by observing the change in this number over a specific period of time.
        Returns:
        The number of timeouts that have occurred when a thread was waiting for a connection from the connection pool to become free.
      • getWaitingThreads

        int getWaitingThreads()
        Returns the current number of threads that are waiting for a connection from the connection pool.
        Returns:
        The current number of threads that are waiting on a connection from the pool.
      • setConnectionPoolSize

        void setConnectionPoolSize​(int newSize)
                            throws WebObjectsException
        Changes the maximum number of connections in the connection pool.
        Parameters:
        newSize - The new size of the connection pool.
        Throws:
        WebObjectsException - Signals an error condition while setting the connection pool size.
      • setLoadBalanceFactor

        void setLoadBalanceFactor​(int loadBalanceFactor)
        This method can be used when a web server administrator wants load to be distributed between clustered Intelligence Servers unevenly.

        The default value is 1. By default, loads are balanced evenly across the cluster nodes in a cluster.

        There are many reasons we may wish to use uneven load balancing. A few examples include if the hardware configuration of the cluster nodes are not equal to each other, or if some cluster nodes are in the same subnet as the web server while others are not. In these cases, we may want more load to be distributed to the nodes that are more powerful or in the same subnet as the web server. To achieve uneven load balancing, override the default value of the LoadBalanceFactor property for each cluster node.

        For example, suppose we have a two-server cluster and we want to have a 30% to 70% load distribution ratio. We can set the load balance factor of the two cluster nodes to 30 and 70 (or 3 and 7), respectively, to achieve this.

        Parameters:
        loadBalanceFactor - The load factor to give this Server in relation to other servers in its cluster.
      • setKeepAlive

        void setKeepAlive​(boolean option)
        Enable/disable keepalive signal for socket connections between i-server cluster and web server
        Parameters:
        option - if set to be true then the keepalive signal is enabled, otherwise disabled.
      • getKeepAlive

        boolean getKeepAlive()
        get current keepalive option status
        Returns:
        a boolean value true indicating the keepalive signal is enabled, otherwise disabled.