javax.management
Interface MBeanServer

All Superinterfaces:
MBeanServerConnection sample code for javax.management.MBeanServerConnection definition code for javax.management.MBeanServerConnection
All Known Subinterfaces:
MBeanServerForwarder sample code for javax.management.remote.MBeanServerForwarder definition code for javax.management.remote.MBeanServerForwarder

public interface MBeanServer
extends MBeanServerConnection sample code for javax.management.MBeanServerConnection definition code for javax.management.MBeanServerConnection

This is the interface for MBean manipulation on the agent side. It contains the methods necessary for the creation, registration, and deletion of MBeans as well as the access methods for registered MBeans. This is the core component of the JMX infrastructure.

User code does not usually implement this interface. Instead, an object that implements this interface is obtained with one of the methods in the MBeanServerFactory sample code for javax.management.MBeanServerFactory definition code for javax.management.MBeanServerFactory class.

Every MBean which is added to the MBean server becomes manageable: its attributes and operations become remotely accessible through the connectors/adaptors connected to that MBean server. A Java object cannot be registered in the MBean server unless it is a JMX compliant MBean.

When an MBean is registered or unregistered in the MBean server a MBeanServerNotification sample code for javax.management.MBeanServerNotification definition code for javax.management.MBeanServerNotification Notification is emitted. To register an object as listener to MBeanServerNotifications you should call the MBean server method addNotificationListener sample code for javax.management.MBeanServer.addNotificationListener(javax.management.ObjectName, javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) definition code for javax.management.MBeanServer.addNotificationListener(javax.management.ObjectName, javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) with ObjectName the ObjectName of the MBeanServerDelegate sample code for javax.management.MBeanServerDelegate definition code for javax.management.MBeanServerDelegate . This ObjectName is:
JMImplementation:type=MBeanServerDelegate.

An object obtained from the createMBeanServer sample code for javax.management.MBeanServerFactory.createMBeanServer(java.lang.String) definition code for javax.management.MBeanServerFactory.createMBeanServer(java.lang.String) or newMBeanServer sample code for javax.management.MBeanServerFactory.newMBeanServer(java.lang.String) definition code for javax.management.MBeanServerFactory.newMBeanServer(java.lang.String) methods of the MBeanServerFactory sample code for javax.management.MBeanServerFactory definition code for javax.management.MBeanServerFactory class applies security checks to its methods, as follows.

First, if there is no security manager (System.getSecurityManager() sample code for java.lang.System.getSecurityManager() definition code for java.lang.System.getSecurityManager() is null), then no checks are made.

Assuming there is a security manager, the checks are made as detailed below. In what follows, className is the string returned by MBeanInfo.getClassName() sample code for javax.management.MBeanInfo.getClassName() definition code for javax.management.MBeanInfo.getClassName() for the target MBean.

If a security check fails, the method throws SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException .

For methods that can throw InstanceNotFoundException sample code for javax.management.InstanceNotFoundException definition code for javax.management.InstanceNotFoundException , this exception is thrown for a non-existent MBean, regardless of permissions. This is because a non-existent MBean has no className.

Since:
1.5

Method Summary
 void addNotificationListener sample code for javax.management.MBeanServer.addNotificationListener(javax.management.ObjectName, javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) definition code for javax.management.MBeanServer.addNotificationListener(javax.management.ObjectName, javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) (ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, NotificationListener sample code for javax.management.NotificationListener definition code for javax.management.NotificationListener  listener, NotificationFilter sample code for javax.management.NotificationFilter definition code for javax.management.NotificationFilter  filter, Object sample code for java.lang.Object definition code for java.lang.Object  handback)
          Adds a listener to a registered MBean.
 void addNotificationListener sample code for javax.management.MBeanServer.addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, javax.management.NotificationFilter, java.lang.Object) definition code for javax.management.MBeanServer.addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, javax.management.NotificationFilter, java.lang.Object) (ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  listener, NotificationFilter sample code for javax.management.NotificationFilter definition code for javax.management.NotificationFilter  filter, Object sample code for java.lang.Object definition code for java.lang.Object  handback)
          Adds a listener to a registered MBean.
 ObjectInstance sample code for javax.management.ObjectInstance definition code for javax.management.ObjectInstance createMBean sample code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName) definition code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName) (String sample code for java.lang.String definition code for java.lang.String  className, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name)
          Instantiates and registers an MBean in the MBean server.
 ObjectInstance sample code for javax.management.ObjectInstance definition code for javax.management.ObjectInstance createMBean sample code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName, java.lang.Object[], java.lang.String[]) definition code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName, java.lang.Object[], java.lang.String[]) (String sample code for java.lang.String definition code for java.lang.String  className, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, Object sample code for java.lang.Object definition code for java.lang.Object [] params, String sample code for java.lang.String definition code for java.lang.String [] signature)
          Instantiates and registers an MBean in the MBean server.
 ObjectInstance sample code for javax.management.ObjectInstance definition code for javax.management.ObjectInstance createMBean sample code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName) definition code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName) (String sample code for java.lang.String definition code for java.lang.String  className, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  loaderName)
          Instantiates and registers an MBean in the MBean server.
 ObjectInstance sample code for javax.management.ObjectInstance definition code for javax.management.ObjectInstance createMBean sample code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName, java.lang.Object[], java.lang.String[]) definition code for javax.management.MBeanServer.createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName, java.lang.Object[], java.lang.String[]) (String sample code for java.lang.String definition code for java.lang.String  className, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  loaderName, Object sample code for java.lang.Object definition code for java.lang.Object [] params, String sample code for java.lang.String definition code for java.lang.String [] signature)
          Instantiates and registers an MBean in the MBean server.
 ObjectInputStream sample code for java.io.ObjectInputStream definition code for java.io.ObjectInputStream deserialize sample code for javax.management.MBeanServer.deserialize(javax.management.ObjectName, byte[]) definition code for javax.management.MBeanServer.deserialize(javax.management.ObjectName, byte[]) (ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, byte[] data)
          Deprecated. Use getClassLoaderFor sample code for javax.management.MBeanServer.getClassLoaderFor(javax.management.ObjectName) definition code for javax.management.MBeanServer.getClassLoaderFor(javax.management.ObjectName) to obtain the appropriate class loader for deserialization.
 ObjectInputStream sample code for java.io.ObjectInputStream definition code for java.io.ObjectInputStream deserialize sample code for javax.management.MBeanServer.deserialize(java.lang.String, byte[]) definition code for javax.management.MBeanServer.deserialize(java.lang.String, byte[]) (String sample code for java.lang.String definition code for java.lang.String  className, byte[] data)
          Deprecated. Use getClassLoaderRepository() sample code for javax.management.MBeanServer.getClassLoaderRepository() definition code for javax.management.MBeanServer.getClassLoaderRepository() to obtain the class loader repository and use it to deserialize.
 ObjectInputStream sample code for java.io.ObjectInputStream definition code for java.io.ObjectInputStream deserialize sample code for javax.management.MBeanServer.deserialize(java.lang.String, javax.management.ObjectName, byte[]) definition code for javax.management.MBeanServer.deserialize(java.lang.String, javax.management.ObjectName, byte[]) (String sample code for java.lang.String definition code for java.lang.String  className, ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  loaderName, byte[] data)
          Deprecated. Use getClassLoader sample code for javax.management.MBeanServer.getClassLoader(javax.management.ObjectName) definition code for javax.management.MBeanServer.getClassLoader(javax.management.ObjectName) to obtain the class loader for deserialization.
 Object sample code for java.lang.Object definition code for java.lang.Object getAttribute sample code for javax.management.MBeanServer.getAttribute(javax.management.ObjectName, java.lang.String) definition code for javax.management.MBeanServer.getAttribute(javax.management.ObjectName, java.lang.String) (ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, String sample code for java.lang.String definition code for java.lang.String  attribute)
          Gets the value of a specific attribute of a named MBean.
 AttributeList sample code for javax.management.AttributeList definition code for javax.management.AttributeList getAttributes sample code for javax.management.MBeanServer.getAttributes(javax.management.ObjectName, java.lang.String[]) definition code for javax.management.MBeanServer.getAttributes(javax.management.ObjectName, java.lang.String[]) (ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  name, String sample code for java.lang.String definition code for java.lang.String [] attributes)
          Gets the values of several attributes of a named MBean.
 ClassLoader sample code for java.lang.ClassLoader definition code for java.lang.ClassLoader getClassLoader sample code for javax.management.MBeanServer.getClassLoader(javax.management.ObjectName) definition code for javax.management.MBeanServer.getClassLoader(javax.management.ObjectName) (ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  loaderName)
          Return the named ClassLoader sample code for java.lang.ClassLoader definition code for java.lang.ClassLoader .
 ClassLoader sample code for java.lang.ClassLoader definition code for java.lang.ClassLoader getClassLoaderFor sample code for javax.management.MBeanServer.getClassLoaderFor(javax.management.ObjectName) definition code for javax.management.MBeanServer.getClassLoaderFor(javax.management.ObjectName) (ObjectName sample code for javax.management.ObjectName definition code for javax.management.ObjectName  mbeanName)
          Return the ClassLoader sample code for java.lang.ClassLoader definition code for java.lang.ClassLoader that was used for loading the class of the named MBean.
 ClassLoaderRepository sample code for javax.management.loading.ClassLoaderRepository definition code for javax.management.loading.ClassLoaderRepository getClassLoaderRepository sample code for javax.management.MBeanServer.getClassLoaderRepository() definition code for javax.management.MBeanServer.getClassLoaderRepository() ()
          Return the ClassLoaderRepository for this MBeanServer.
 String sample code for java.lang.String definition code for java.lang.String getDefaultDomain sample code for javax.management.MBeanServer.getDefaultDomain() definition code for javax.management.MBeanServer.getDefaultDomain() ()
          Returns the default domain used for naming the MBean.
 String sample code for java.lang.String definition code for java.lang.String [] getDomains