org.apache.zookeeper.jmx
Class MBeanRegistry

java.lang.Object
  extended by 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
MBeanRegistry()
           
 
Method Summary
static MBeanRegistry getInstance()
           
 MBeanServer getPlatformMBeanServer()
          Return the underlying MBeanServer that is being used to register MBean's.
 String 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.
 void unregister(ZKMBeanInfo bean)
          Unregister MBean.
 void unregisterAll()
          Unregister all currently registered MBeans
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MBeanRegistry

public MBeanRegistry()
Method Detail

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 registered
parent - if not null, the new bean will be registered as a child node of this parent.
Throws:
JMException

unregister

public void unregister(ZKMBeanInfo bean)
Unregister MBean.

Parameters:
bean -

unregisterAll

public void unregisterAll()
Unregister all currently registered MBeans


makeFullPath

public String makeFullPath(String prefix,
                           String... name)
Generate a filesystem-like path.

Parameters:
prefix - path prefix
name - 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 path
bean - the MBean instance
Returns:
ObjectName to be registered with the platform MBean server
Throws:
MalformedObjectNameException


Copyright © 2011 The Apache Software Foundation