Package org.apache.zookeeper.jmx
Class MBeanRegistry
- java.lang.Object
-
- org.apache.zookeeper.jmx.MBeanRegistry
-
public class MBeanRegistry extends Object
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.
-
-
Constructor Summary
Constructors Constructor Description MBeanRegistry()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MBeanRegistrygetInstance()MBeanServergetPlatformMBeanServer()Return the underlying MBeanServer that is being used to register MBean's.Set<ZKMBeanInfo>getRegisteredBeans()StringmakeFullPath(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 Detail
-
DOMAIN
public static final String DOMAIN
- See Also:
- Constant Field Values
-
-
Method Detail
-
setInstance
public static void setInstance(MBeanRegistry instance)
Useful for unit tests. Change the MBeanRegistry instance- Parameters:
instance- new instance
-
getInstance
public static MBeanRegistry getInstance()
-
getPlatformMBeanServer
public MBeanServer 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
public void register(ZKMBeanInfo bean, ZKMBeanInfo parent) throws JMException
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
public Set<ZKMBeanInfo> getRegisteredBeans()
- Returns:
- a
Collectionwith theZKMBeanInfoinstances not unregistered. Mainly for testing purposes.
-
unregister
public void unregister(ZKMBeanInfo bean)
Unregister MBean.- Parameters:
bean-
-
makeFullPath
public String makeFullPath(String prefix, String... name)
Generate a filesystem-like path.- Parameters:
prefix- path prefixname- path elements- Returns:
- absolute path
-
makeFullPath
protected String makeFullPath(String prefix, ZKMBeanInfo bean)
-
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
-
-