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 MBeanRegistry
Return the underlying MBeanServer that is being used to register MBean's.makeFullPath
(String prefix, String... name) Generate a filesystem-like path.protected String
makeFullPath
(String prefix, ZKMBeanInfo bean) protected ObjectName
makeObjectName
(String path, ZKMBeanInfo bean) Builds an MBean path and creates an ObjectName instance using the path.void
register
(ZKMBeanInfo bean, ZKMBeanInfo parent) Registers a new MBean with the platform MBean server.static void
setInstance
(MBeanRegistry instance) Useful for unit tests.void
unregister
(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
Collection
with theZKMBeanInfo
instances 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
-