Interface IDSSXMLClusterNode
-
public interface IDSSXMLClusterNode
This interface contains a set of properties of a cluster node (an Intelligence Server). This interface can be returned by IDSSXMLAdmin.GetClusterNode or IDSSXMLCluster.getItem. Refer to IDSSXMLAdmin for details about the IDSSXMLAdmin interface and sample code.- Since:
- MicroStrategy Web 7.3.1 or earlier
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<IDSSXMLProjectInfo>
getAllProjects()
Return all projects information in the cluster node(load&unloaded)int
getBusyConnections()
Returns the number of busy connections in the connection pool.java.lang.String
getCanonicalName()
Gets the canonical name which the I-Server node uses to identify itself.int
getConnectionPoolSize()
Returns the number of connections in the connection pool.int
getFreeConnections()
Returns the number of free connections in the connection pool.int
getInitialConnectionPoolSize()
Returns the initial connection pool size.boolean
getKeepAlive()
Returns the current keepalive option status.int
getLoad()
Returns the current load on the Intelligence Serverint
getLoadBalanceFactor()
This method gives the current load balance factor of the current cluster node.java.lang.String
getNodeAddress()
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 Servercom.microstrategy.webapi.MsiProjectStruct[]
getProjects()
java.lang.String
getServerReportedNodeName()
Returns the hostname reported by i-server (ex .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
putConnectionPoolSize(int newSize)
Changes the maximum number of connections in the connection pool.void
putLoadBalanceFactor(int loadBalanceFactor)
This method can be used when a web server administrator wants load to be distributed between clustered Intelligence Servers unevenly.void
setKeepAlive(boolean option)
Enable/disable keepalive signal for socket connections between i-server cluster and web server
-
-
-
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.
-
getCanonicalName
java.lang.String getCanonicalName()
Gets the canonical name which the I-Server node uses to identify itself. Guaranteed to not be an ip address. The canonical name may be null; this happens when the IServer is part of the cluster but it is down and has never been up. THIS METHOD IS NOT SUPPORTED FOR USE IN CUSTOM APPLICATION DEVELOPMENT. THE METHOD IS SUBJECT TO CHANGE IN FUTURE RELEASES AND SOME METHODS AND PROPERTIES MAY NOT BE SUITABLE FOR CUSTOM DEVELOPMENT.- Returns:
- The canonical name
- Since:
- MicroStrategy Web 11.2 GA
-
getServerReportedNodeName
java.lang.String getServerReportedNodeName()
Returns the hostname reported by i-server (ex . I-Server returned hostname in a cluster membership information)- Returns:
- The alias of the node reported by i-server.
-
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.
-
putConnectionPoolSize
void putConnectionPoolSize(int newSize) throws MSTRWebAPIException
Changes the maximum number of connections in the connection pool.- Parameters:
newSize
- The new size of the connection pool.- Throws:
MSTRWebAPIException
- Signals an error condition.
-
putLoadBalanceFactor
void putLoadBalanceFactor(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()
Returns the current keepalive option status.- Returns:
- A boolean value, which will be true if the keepalive signal is enabled.
-
getInitialConnectionPoolSize
int getInitialConnectionPoolSize()
Returns the initial connection pool size.
-
getNodeAddress
java.lang.String getNodeAddress()
-
getProjects
com.microstrategy.webapi.MsiProjectStruct[] getProjects()
-
getAllProjects
java.util.List<IDSSXMLProjectInfo> getAllProjects()
Return all projects information in the cluster node(load&unloaded)
-
-