Package org.apache.zookeeper.jmx
Class MBeanRegistry
java.lang.Object
org.apache.zookeeper.jmx.MBeanRegistry
This class provides a unified interface for registering/unregistering of
zookeeper MBeans with the platform MBean server. It builds a hierarchy of MBeans
where each MBean represented by a filesystem-like path. Eventually, this hierarchy
will be stored in the zookeeper data tree instance as a virtual data tree.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic MBeanRegistryReturn the underlying MBeanServer that is being used to register MBean's.makeFullPath(String prefix, String... name) Generate a filesystem-like path.protected StringmakeFullPath(String prefix, ZKMBeanInfo bean) protected ObjectNamemakeObjectName(String path, ZKMBeanInfo bean) Builds an MBean path and creates an ObjectName instance using the path.voidregister(ZKMBeanInfo bean, ZKMBeanInfo parent) Registers a new MBean with the platform MBean server.static voidsetInstance(MBeanRegistry instance) Useful for unit tests.voidunregister(ZKMBeanInfo bean) Unregister MBean.
-
Field Details
-
DOMAIN
- See Also:
-
-
Constructor Details
-
MBeanRegistry
public MBeanRegistry()
-
-
Method Details
-
setInstance
Useful for unit tests. Change the MBeanRegistry instance- Parameters:
instance- new instance
-
getInstance
-
getPlatformMBeanServer
Return the underlying MBeanServer that is being used to register MBean's. The returned MBeanServer may be a new empty MBeanServer if running through IKVM. -
register
Registers a new MBean with the platform MBean server.- Parameters:
bean- the bean being registeredparent- if not null, the new bean will be registered as a child node of this parent.- Throws:
JMException
-
getRegisteredBeans
- Returns:
- a
Collectionwith theZKMBeanInfoinstances not unregistered. Mainly for testing purposes.
-
unregister
Unregister MBean.- Parameters:
bean-
-
makeFullPath
Generate a filesystem-like path.- Parameters:
prefix- path prefixname- path elements- Returns:
- absolute path
-
makeFullPath
-
makeObjectName
protected ObjectName makeObjectName(String path, ZKMBeanInfo bean) throws MalformedObjectNameException Builds an MBean path and creates an ObjectName instance using the path.- Parameters:
path- MBean pathbean- the MBean instance- Returns:
- ObjectName to be registered with the platform MBean server
- Throws:
MalformedObjectNameException
-