Interface LimiterMBean
-
- All Known Subinterfaces:
AbsoluteStatLimiterMBean,QueueSaturationLimiterMBean,RateLimiterMBean,RelativeStatLimiterMBean,StatLimiterMBean
public interface LimiterMBeanDefines the base JMX interface for controlling a single limiter.
When a node is configured to use the pool clustering mode, operations in this interface that include an argument to specify an array of node IDs can only be used to manage state on the node the management client directs the method call at, as determined by
RhinoHousekeepingMBean.getNodeID(). Including the node ID of any other node in the array argument will result in anInvalidArgumentExceptionbeing thrown. To manage state for another node in pool mode, a client must connect directly with that node.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String[]getChildLimiters()Get the names of all limiters for which this limiter is their parent.TabularDatagetConfigSummary()Get the default and per node configuration values stored for this limiter.String[]getConnectedEndPoints()Get the IDs of the limiter endpoints connected to this limiter.TabularDatagetInfoSummary(int[] nodeIDs)Get a summary of the configuration of this limiter on the specified nodes (as derived from default and per node settings).StringgetName()Get the name of this limiter.StringgetParent()Get the name of the parent of this limiter (or null if no parent is set).StringgetType()Get the type of this limiter.booleanisBypassedDefault()Get the default "bypassed" property for this limiter (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).boolean[]isBypassedForNode(int[] nodeIDs)Get the per-node "bypassed" property for this limiter on the specified nodes (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).voidsetBypassedDefault(boolean bypassed)Set the default "bypassed" property for this limiter (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).voidsetBypassedForNode(boolean[] bypassed, int[] nodeIDs)Set the per-node "bypassed" property for this limiter on the specified nodes (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).voidsetBypassedForNode(Boolean[] bypassed, int[] nodeIDs)Set the per-node "bypassed" property for this limiter on the specified nodes (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).voidsetParent(String parentName)Set the specified limiter as the parent of this limiter.voiduseDefaultConfig(int[] nodeIDs)Removes any node specific configuration settings for the limiter on the given node(s), causing the nodes to use the cluster wide settings.
-
-
-
Method Detail
-
isBypassedDefault
boolean isBypassedDefault() throws ConfigurationExceptionGet the default "bypassed" property for this limiter (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()). This value will be used when no per-node setting exists for a given node.
- Throws:
ConfigurationException
-
isBypassedForNode
boolean[] isBypassedForNode(int[] nodeIDs) throws NullPointerException, ConfigurationException, InvalidArgumentExceptionGet the per-node "bypassed" property for this limiter on the specified nodes (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).
-
setBypassedDefault
void setBypassedDefault(boolean bypassed) throws ConfigurationExceptionSet the default "bypassed" property for this limiter (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()). This value will be used when no per-node setting exists for a given node.
- Throws:
ConfigurationException
-
setBypassedForNode
void setBypassedForNode(boolean[] bypassed, int[] nodeIDs) throws NullPointerException, ConfigurationException, InvalidArgumentExceptionSet the per-node "bypassed" property for this limiter on the specified nodes (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).
-
setBypassedForNode
void setBypassedForNode(Boolean[] bypassed, int[] nodeIDs) throws NullPointerException, ConfigurationException, InvalidArgumentException
Set the per-node "bypassed" property for this limiter on the specified nodes (if bypassed is true this limiter will delegate all decisions to its parent or if the is no parent will allow all useUnit/s()).
This method is identical to
setBypassedForNode(boolean[], int[])but it allows a previously set per-node value to be deleted by specifying a null value for that node in the input array.- Throws:
NullPointerExceptionConfigurationExceptionInvalidArgumentException- Since:
- Rhino 2.7.0
-
getConfigSummary
TabularData getConfigSummary() throws ConfigurationException
Get the default and per node configuration values stored for this limiter.
- Throws:
ConfigurationException
-
getConnectedEndPoints
String[] getConnectedEndPoints() throws ConfigurationException
Get the IDs of the limiter endpoints connected to this limiter. Limiter endpoints in the default namespace are presented simply by their ID. Limiter endpoints in user-defined namespaces are presented in the format
"[<namespace>]/<ID>".- Throws:
ConfigurationException
-
getChildLimiters
String[] getChildLimiters() throws ConfigurationException
Get the names of all limiters for which this limiter is their parent.
- Throws:
ConfigurationException
-
getInfoSummary
TabularData getInfoSummary(int[] nodeIDs) throws ConfigurationException, InvalidArgumentException
Get a summary of the configuration of this limiter on the specified nodes (as derived from default and per node settings).
-
useDefaultConfig
void useDefaultConfig(int[] nodeIDs) throws ConfigurationException, InvalidArgumentExceptionRemoves any node specific configuration settings for the limiter on the given node(s), causing the nodes to use the cluster wide settings.
-
getName
String getName() throws ConfigurationException
Get the name of this limiter.
- Throws:
ConfigurationException
-
getType
String getType() throws ConfigurationException
Get the type of this limiter. "RATE" indicates a rate limiter, while "QUEUE_SATURATION" indicates a queue saturation limiter.
- Throws:
ConfigurationException
-
getParent
String getParent() throws ConfigurationException
Get the name of the parent of this limiter (or null if no parent is set).
- Throws:
ConfigurationException
-
setParent
void setParent(String parentName) throws ConfigurationException, com.opencloud.util.exception.ValidationException, NullPointerException, InvalidArgumentException
Set the specified limiter as the parent of this limiter.
- Parameters:
parentName-- Throws:
ConfigurationExceptioncom.opencloud.util.exception.ValidationExceptionNullPointerExceptionInvalidArgumentException
-
-