public final class

JmxMBeanServer

extends Object
implements SunJmxMBeanServer
java.lang.Object
   ↳ com.sun.jmx.mbeanserver.JmxMBeanServer

Class Overview

This is the base class 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.

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 an MBeanServerNotification Notification is emitted. To register an object as listener to MBeanServerNotifications you should call the MBean server method addNotificationListener with the ObjectName of the MBeanServerDelegate. This ObjectName is:
JMImplementation:type=MBeanServerDelegate.

Summary

Constants
boolean DEFAULT_FAIR_LOCK_POLICY Control the default locking policy of the repository.
Public Methods
void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
Adds a listener to a registered MBean.
void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
Adds a listener to a registered MBean.
ObjectInstance createMBean(String className, ObjectName name)
Instantiates and registers an MBean in the MBean server.
ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature)
Instantiates and registers an MBean in the MBean server.
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName)
Instantiates and registers an MBean in the MBean server.
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)
Instantiates and registers an MBean in the MBean server.
ObjectInputStream deserialize(ObjectName name, byte[] data)
De-serializes a byte array in the context of the class loader of an MBean.
ObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data)
De-serializes a byte array in the context of a given MBean class loader.
ObjectInputStream deserialize(String className, byte[] data)
De-serializes a byte array in the context of a given MBean class loader.
Object getAttribute(ObjectName name, String attribute)
Gets the value of a specific attribute of a named MBean.
AttributeList getAttributes(ObjectName name, String[] attributes)
Enables the values of several attributes of a named MBean.
ClassLoader getClassLoader(ObjectName loaderName)

Return the named ClassLoader.

ClassLoader getClassLoaderFor(ObjectName mbeanName)

Return the ClassLoader that was used for loading the class of the named MBean.

ClassLoaderRepository getClassLoaderRepository()

Return the ClassLoaderRepository for that MBeanServer.

String getDefaultDomain()
Returns the default domain used for naming the MBean.
String[] getDomains()
Returns the list of domains in which any MBean is currently registered.
Integer getMBeanCount()
Returns the number of MBeans registered in the MBean server.
MBeanInfo getMBeanInfo(ObjectName name)
This method discovers the attributes and operations that an MBean exposes for management.
MBeanInstantiator getMBeanInstantiator()
Return the MBeanInstantiator associated to this MBeanServer.
MBeanServerDelegate getMBeanServerDelegate()

Return the MBeanServerDelegate representing the MBeanServer.

synchronized MBeanServerInterceptor getMBeanServerInterceptor()
Return the MBeanServerInterceptor.
ObjectInstance getObjectInstance(ObjectName name)
Gets the ObjectInstance for a given MBean registered with the MBean server.
Object instantiate(String className, ObjectName loaderName, Object[] params, String[] signature)
Instantiates an object.
Object instantiate(String className, Object[] params, String[] signature)
Instantiates an object using the list of all class loaders registered in the MBean server (using its Default Loader Repository).
Object instantiate(String className)
Instantiates an object using the list of all class loaders registered in the MBean server (using its Default Loader Repository).
Object instantiate(String className, ObjectName loaderName)
Instantiates an object using the class Loader specified by its ObjectName.
boolean interceptorsEnabled()
Tell whether MBeanServerInterceptors are enabled on this object.
Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)
Invokes an operation on an MBean.
boolean isInstanceOf(ObjectName name, String className)
Returns true if the MBean specified is an instance of the specified class, false otherwise.
boolean isRegistered(ObjectName name)
Checks whether an MBean, identified by its object name, is already registered with the MBean server.
static MBeanServer newMBeanServer(String defaultDomain, MBeanServer outer, MBeanServerDelegate delegate, boolean interceptors)
This method creates a new MBeanServer implementation object.
static MBeanServerDelegate newMBeanServerDelegate()
This method creates a new MBeanServerDelegate for a new MBeanServer.
Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query)
Gets MBeans controlled by the MBean server.
Set<ObjectName> queryNames(ObjectName name, QueryExp query)
Gets the names of MBeans controlled by the MBean server.
ObjectInstance registerMBean(Object object, ObjectName name)
Registers a pre-existing object as an MBean with the MBean server.
void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)

Removes a listener from a registered MBean.

void removeNotificationListener(ObjectName name, ObjectName listener)
Removes a listener from a registered MBean.
void removeNotificationListener(ObjectName name, NotificationListener listener)

Removes a listener from a registered MBean.

void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)

Removes a listener from a registered MBean.

void setAttribute(ObjectName name, Attribute attribute)
Sets the value of a specific attribute of a named MBean.
AttributeList setAttributes(ObjectName name, AttributeList attributes)
Sets the values of several attributes of a named MBean.
synchronized void setMBeanServerInterceptor(MBeanServerInterceptor interceptor)
Set the MBeanServerInterceptor.
void unregisterMBean(ObjectName name)
De-registers an MBean from the MBean server.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.sun.jmx.interceptor.MBeanServerInterceptor
From interface com.sun.jmx.mbeanserver.SunJmxMBeanServer
From interface javax.management.MBeanServer
From interface javax.management.MBeanServerConnection

Constants

public static final boolean DEFAULT_FAIR_LOCK_POLICY

Control the default locking policy of the repository. By default, we will be using a fair locking policy.

Constant Value: true

Public Methods

public void addNotificationListener (ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)

Adds a listener to a registered MBean.

Parameters
name The name of the MBean on which the listener should be added.
listener The listener object which will handle the notifications emitted by the registered MBean.
filter The filter object. If filter is null, no filtering will be performed before handling notifications.
handback The context to be sent to the listener when a notification is emitted.
Throws
InstanceNotFoundException The MBean name provided does not match any of the registered MBeans.

public void addNotificationListener (ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)

Adds a listener to a registered MBean.

Parameters
name The name of the MBean on which the listener should be added.
listener The object name of the listener which will handle the notifications emitted by the registered MBean.
filter The filter object. If filter is null, no filtering will be performed before handling notifications.
handback The context to be sent to the listener when a notification is emitted.
Throws
InstanceNotFoundException The MBean name of the notification listener or of the notification broadcaster does not match any of the registered MBeans.

public ObjectInstance createMBean (String className, ObjectName name)

Instantiates and registers an MBean in the MBean server. The MBean server will use its Default Loader Repository to load the class of the MBean. An object name is associated to the MBean. If the object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns an ObjectInstance object representing the newly created MBean.

Parameters
className The class name of the MBean to be instantiated.
name The object name of the MBean. May be null.
Returns
  • An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws
ReflectionException Wraps an ClassNotFoundException or an Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException The MBean is already under the control of the MBean server.
MBeanRegistrationException The preRegister() (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
MBeanException The constructor of the MBean has thrown an exception.
NotCompliantMBeanException This class is not a JMX compliant MBean.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.

public ObjectInstance createMBean (String className, ObjectName name, Object[] params, String[] signature)

Instantiates and registers an MBean in the MBean server. The MBean server will use its Default Loader Repository to load the class of the MBean. An object name is associated to the MBean. If the object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns an ObjectInstance object representing the newly created MBean.

Parameters
className The class name of the MBean to be instantiated.
name The object name of the MBean. May be null.
params An array containing the parameters of the constructor to be invoked.
signature An array containing the signature of the constructor to be invoked.
Returns
  • An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws
ReflectionException Wraps a ClassNotFoundException or an Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException The MBean is already under the control of the MBean server.
MBeanRegistrationException The preRegister() (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
MBeanException The constructor of the MBean has thrown an exception.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.
NotCompliantMBeanException

public ObjectInstance createMBean (String className, ObjectName name, ObjectName loaderName)

Instantiates and registers an MBean in the MBean server. The class loader to be used is identified by its object name. An object name is associated to the MBean. If the object name of the loader is null, the ClassLoader that loaded the MBean server will be used. If the MBean's object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns an ObjectInstance object representing the newly created MBean.

Parameters
className The class name of the MBean to be instantiated.
name The object name of the MBean. May be null.
loaderName The object name of the class loader to be used.
Returns
  • An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws
ReflectionException Wraps an ClassNotFoundException or an Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException The MBean is already under the control of the MBean server.
MBeanRegistrationException The preRegister() (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
MBeanException The constructor of the MBean has thrown an exception
NotCompliantMBeanException This class is not a JMX compliant MBean.
InstanceNotFoundException The specified class loader is not registered in the MBean server.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.

public ObjectInstance createMBean (String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)

Instantiates and registers an MBean in the MBean server. The class loader to be used is identified by its object name. An object name is associated to the MBean. If the object name of the loader is not specified, the ClassLoader that loaded the MBean server will be used. If the MBean object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns an ObjectInstance object representing the newly created MBean.

Parameters
className The class name of the MBean to be instantiated.
name The object name of the MBean. May be null.
loaderName The object name of the class loader to be used.
params An array containing the parameters of the constructor to be invoked.
signature An array containing the signature of the constructor to be invoked.
Returns
  • An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws
ReflectionException Wraps a ClassNotFoundException or an Exception that occurred when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException The MBean is already under the control of the MBean server.
MBeanRegistrationException The preRegister() (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
MBeanException The constructor of the MBean has thrown an exception
InstanceNotFoundException The specified class loader is not registered in the MBean server.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.
NotCompliantMBeanException

public ObjectInputStream deserialize (ObjectName name, byte[] data)

De-serializes a byte array in the context of the class loader of an MBean.

Parameters
name The name of the MBean whose class loader should be used for the de-serialization.
data The byte array to be de-sererialized.
Returns
  • The de-serialized object stream.
Throws
InstanceNotFoundException The MBean specified is not found.
OperationsException Any of the usual Input/Output related exceptions.

public ObjectInputStream deserialize (String className, ObjectName loaderName, byte[] data)

De-serializes a byte array in the context of a given MBean class loader. The class loader is the one that loaded the class with name "className". The name of the class loader to be used for loading the specified class is specified. If null, the MBean Server's class loader will be used.

Parameters
className The name of the class whose class loader should be used for the de-serialization.
loaderName The name of the class loader to be used for loading the specified class. If null, the MBean Server's class loader will be used.
data The byte array to be de-sererialized.
Returns
  • The de-serialized object stream.
Throws
InstanceNotFoundException The specified class loader MBean is not found.
OperationsException Any of the usual Input/Output related exceptions.
ReflectionException The specified class could not be loaded by the specified class loader.

public ObjectInputStream deserialize (String className, byte[] data)

De-serializes a byte array in the context of a given MBean class loader. The class loader is the one that loaded the class with name "className".

Parameters
className The name of the class whose class loader should be used for the de-serialization.
data The byte array to be de-sererialized.
Returns
  • The de-serialized object stream.
Throws
OperationsException Any of the usual Input/Output related exceptions.
ReflectionException The specified class could not be loaded by the default loader repository

public Object getAttribute (ObjectName name, String attribute)

Gets the value of a specific attribute of a named MBean. The MBean is identified by its object name.

Parameters
name The object name of the MBean from which the attribute is to be retrieved.
attribute A String specifying the name of the attribute to be retrieved.
Returns
  • The value of the retrieved attribute.
Throws
AttributeNotFoundException The attribute specified is not accessible in the MBean.
MBeanException Wraps an exception thrown by the MBean's getter.
InstanceNotFoundException The MBean specified is not registered in the MBean server.
ReflectionException Wraps an Exception thrown when trying to invoke the setter.
RuntimeOperationsException Wraps an IllegalArgumentException: The object name in parameter is null or the attribute in parameter is null.

public AttributeList getAttributes (ObjectName name, String[] attributes)

Enables the values of several attributes of a named MBean. The MBean is identified by its object name.

Parameters
name The object name of the MBean from which the attributes are retrieved.
attributes A list of the attributes to be retrieved.
Returns
  • The list of the retrieved attributes.
Throws
InstanceNotFoundException The MBean specified is not registered in the MBean server.
ReflectionException An exception occurred when trying to invoke the getAttributes method of a Dynamic MBean.
RuntimeOperationsException Wrap an IllegalArgumentException: The object name in parameter is null or attributes in parameter is null.

public ClassLoader getClassLoader (ObjectName loaderName)

Return the named ClassLoader.

Parameters
loaderName The ObjectName of the ClassLoader.
Returns
  • The named ClassLoader.
Throws
InstanceNotFoundException if the named ClassLoader is not found.

public ClassLoader getClassLoaderFor (ObjectName mbeanName)

Return the ClassLoader that was used for loading the class of the named MBean.

Parameters
mbeanName The ObjectName of the MBean.
Returns
  • The ClassLoader used for that MBean.
Throws
InstanceNotFoundException if the named MBean is not found.

public ClassLoaderRepository getClassLoaderRepository ()

Return the ClassLoaderRepository for that MBeanServer.

Returns
  • The ClassLoaderRepository for that MBeanServer.

public String getDefaultDomain ()

Returns the default domain used for naming the MBean. The default domain name is used as the domain part in the ObjectName of MBeans if no domain is specified by the user.

Returns
  • the default domain.

public String[] getDomains ()

Returns the list of domains in which any MBean is currently registered.

Returns
  • the list of domains.

public Integer getMBeanCount ()

Returns the number of MBeans registered in the MBean server.

Returns
  • the number of registered MBeans, wrapped in an Integer. If the caller's permissions are restricted, this number may be greater than the number of MBeans the caller can access.

public MBeanInfo getMBeanInfo (ObjectName name)

This method discovers the attributes and operations that an MBean exposes for management.

Parameters
name The name of the MBean to analyze
Returns
  • An instance of MBeanInfo allowing the retrieval of all attributes and operations of this MBean.
Throws
IntrospectionException An exception occurs during introspection.
InstanceNotFoundException The MBean specified is not found.
ReflectionException An exception occurred when trying to invoke the getMBeanInfo of a Dynamic MBean.

public MBeanInstantiator getMBeanInstantiator ()

Return the MBeanInstantiator associated to this MBeanServer.

Throws
UnsupportedOperationException if MBeanServerInterceptors are not enabled on this object.

public MBeanServerDelegate getMBeanServerDelegate ()

Return the MBeanServerDelegate representing the MBeanServer. Notifications can be sent from the MBean server delegate using the method sendNotification(Notification) in the returned object.

public synchronized MBeanServerInterceptor getMBeanServerInterceptor ()

Return the MBeanServerInterceptor.

Throws
UnsupportedOperationException if MBeanServerInterceptors are not enabled on this object.

public ObjectInstance getObjectInstance (ObjectName name)

Gets the ObjectInstance for a given MBean registered with the MBean server.

Parameters
name The object name of the MBean.
Returns
  • The ObjectInstance associated to the MBean specified by name.
Throws
InstanceNotFoundException The MBean specified is not registered in the MBean server.

public Object instantiate (String className, ObjectName loaderName, Object[] params, String[] signature)

Instantiates an object. The class loader to be used is identified by its object name. If the object name of the loader is null, the ClassLoader that loaded the MBean server will be used. The object's class should have a public constructor. The call returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Parameters
className The class name of the object to be instantiated.
loaderName The object name of the class loader to be used.
params An array containing the parameters of the constructor to be invoked.
signature An array containing the signature of the constructor to be invoked.
Returns
  • The newly instantiated object.
Throws
ReflectionException Wraps the ClassNotFoundException or the Exception that occurred when trying to invoke the object's constructor.
MBeanException The constructor of the object has thrown an exception.
InstanceNotFoundException The specified class loader is not registered in the MBean server.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null.

public Object instantiate (String className, Object[] params, String[] signature)

Instantiates an object using the list of all class loaders registered in the MBean server (using its Default Loader Repository). The object's class should have a public constructor. The call returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Parameters
className The class name of the object to be instantiated.
params An array containing the parameters of the constructor to be invoked.
signature An array containing the signature of the constructor to be invoked.
Returns
  • The newly instantiated object.
Throws
ReflectionException Wraps the ClassNotFoundException or the Exception that occurred when trying to invoke the object's constructor.
MBeanException The constructor of the object has thrown an exception.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null.

public Object instantiate (String className)

Instantiates an object using the list of all class loaders registered in the MBean server (using its Default Loader Repository). The object's class should have a public constructor. It returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Parameters
className The class name of the object to be instantiated.
Returns
  • The newly instantiated object.
Throws
ReflectionException Wraps the ClassNotFoundException or the Exception that occurred when trying to invoke the object's constructor.
MBeanException The constructor of the object has thrown an exception.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null.

public Object instantiate (String className, ObjectName loaderName)

Instantiates an object using the class Loader specified by its ObjectName. If the loader name is null, the ClassLoader that loaded the MBean Server will be used. The object's class should have a public constructor. It returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Parameters
className The class name of the MBean to be instantiated.
loaderName The object name of the class loader to be used.
Returns
  • The newly instantiated object.
Throws
ReflectionException Wraps the ClassNotFoundException or the Exception that occurred when trying to invoke the object's constructor.
MBeanException The constructor of the object has thrown an exception.
InstanceNotFoundException The specified class loader is not registered in the MBaenServer.
RuntimeOperationsException Wraps an IllegalArgumentException: The className passed in parameter is null.

public boolean interceptorsEnabled ()

public Object invoke (ObjectName name, String operationName, Object[] params, String[] signature)

Invokes an operation on an MBean.

Parameters
name The object name of the MBean on which the method is to be invoked.
operationName The name of the operation to be invoked.
params An array containing the parameters to be set when the operation is invoked
signature An array containing the signature of the operation. The class objects will be loaded using the same class loader as the one used for loading the MBean on which the operation was invoked.
Returns
  • The object returned by the operation, which represents the result ofinvoking the operation on the MBean specified.
Throws
InstanceNotFoundException The MBean specified is not registered in the MBean server.
MBeanException Wraps an exception thrown by the MBean's invoked method.
ReflectionException Wraps an Exception thrown while trying to invoke the method.

public boolean isInstanceOf (ObjectName name, String className)

Returns true if the MBean specified is an instance of the specified class, false otherwise.

Parameters
name The ObjectName of the MBean.
className The name of the class.
Returns
  • true if the MBean specified is an instance of the specified class, false otherwise.
Throws
InstanceNotFoundException The MBean specified is not registered in the MBean server.

public boolean isRegistered (ObjectName name)

Checks whether an MBean, identified by its object name, is already registered with the MBean server.

Parameters
name The object name of the MBean to be checked.
Returns
  • True if the MBean is already registered in the MBean server, false otherwise.
Throws
RuntimeOperationsException Wraps an IllegalArgumentException: The object name in parameter is null.

public static MBeanServer newMBeanServer (String defaultDomain, MBeanServer outer, MBeanServerDelegate delegate, boolean interceptors)

This method creates a new MBeanServer implementation object. When creating a new MBeanServer the MBeanServerBuilder first calls newMBeanServerDelegate() in order to obtain a new MBeanServerDelegate for the new MBeanServer. Then it calls newMBeanServer(defaultDomain,outer,delegate) passing the delegate that should be used by the MBeanServer implementation.

Note that the passed delegate might not be directly the MBeanServerDelegate that was returned by this implementation. It could be, for instance, a new object wrapping the previously returned delegate.

The outer parameter is a pointer to the MBeanServer that should be passed to the MBeanRegistration interface when registering MBeans inside the MBeanServer. If outer is null, then the MBeanServer implementation is free to use its own this pointer when invoking the MBeanRegistration interface.

This makes it possible for a MBeanServer implementation to wrap another MBeanServer implementation, in order to implement, e.g, security checks, or to prevent access to the actual MBeanServer implementation by returning a pointer to a wrapping object.

Parameters
defaultDomain Default domain of the new MBeanServer.
outer A pointer to the MBeanServer object that must be passed to the MBeans when invoking their MBeanRegistration interface.
delegate A pointer to the MBeanServerDelegate associated with the new MBeanServer. The new MBeanServer must register this MBean in its MBean repository.
interceptors If true, MBeanServerInterceptors will be enabled (default is false). Note: this parameter is not taken into account by this implementation - the default value false is always used.
Returns
  • A new private implementation of an MBeanServer.

public static MBeanServerDelegate newMBeanServerDelegate ()

This method creates a new MBeanServerDelegate for a new MBeanServer. When creating a new MBeanServer the MBeanServerBuilder first calls this method in order to create a new MBeanServerDelegate.
Then it calls newMBeanServer(defaultDomain,outer,delegate,interceptors) passing the delegate that should be used by the MBeanServer implementation.

Note that the passed delegate might not be directly the MBeanServerDelegate that was returned by this method. It could be, for instance, a new object wrapping the previously returned object.

Returns

public Set<ObjectInstance> queryMBeans (ObjectName name, QueryExp query)

Gets MBeans controlled by the MBean server. This method allows any of the following to be obtained: All MBeans, a set of MBeans specified by pattern matching on the ObjectName and/or a Query expression, a specific MBean. When the object name is null or no domain and key properties are specified, all objects are to be selected (and filtered if a query is specified). It returns the set of ObjectInstance objects (containing the ObjectName and the Java Class name) for the selected MBeans.

Parameters
name The object name pattern identifying the MBeans to be retrieved. If null or or no domain and key properties are specified, all the MBeans registered will be retrieved.
query The query expression to be applied for selecting MBeans. If null no query expression will be applied for selecting MBeans.
Returns
  • A set containing the ObjectInstance objects for the selected MBeans. If no MBean satisfies the query an empty list is returned.

public Set<ObjectName> queryNames (ObjectName name, QueryExp query)

Gets the names of MBeans controlled by the MBean server. This method enables any of the following to be obtained: The names of all MBeans, the names of a set of MBeans specified by pattern matching on the ObjectName and/or a Query expression, a specific MBean name (equivalent to testing whether an MBean is registered). When the object name is null or or no domain and key properties are specified, all objects are selected (and filtered if a query is specified). It returns the set of ObjectNames for the MBeans selected.

Parameters
name The object name pattern identifying the MBeans to be retrieved. If null or no domain and key properties are specified, all the MBeans registered will be retrieved.
query The query expression to be applied for selecting MBeans. If null no query expression will be applied for selecting MBeans.
Returns
  • A set containing the ObjectNames for the MBeans selected. If no MBean satisfies the query, an empty list is returned.

public ObjectInstance registerMBean (Object object, ObjectName name)

Registers a pre-existing object as an MBean with the MBean server. If the object name given is null, the MBean may automatically provide its own name by implementing the MBeanRegistration interface. The call returns an ObjectInstance object representing the registered MBean.

Parameters
object The MBean to be registered as an MBean.
name The object name of the MBean. May be null.
Returns
  • The ObjectInstance for the MBean that has been registered.
Throws
InstanceAlreadyExistsException The MBean is already under the control of the MBean server.
MBeanRegistrationException The preRegister() (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
NotCompliantMBeanException This object is not a JMX compliant MBean
RuntimeOperationsException Wraps an IllegalArgumentException: The object passed in parameter is null or no object name is specified.

public void removeNotificationListener (ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)

Removes a listener from a registered MBean.

The MBean must have a listener that exactly matches the given listener, filter, and handback parameters. If there is more than one such listener, only one is removed.

The filter and handback parameters may be null if and only if they are null in a listener to be removed.

Parameters
name The name of the MBean on which the listener should be removed.
listener A listener that was previously added to this MBean.
filter The filter that was specified when the listener was added.
handback The handback that was specified when the listener was added.

public void removeNotificationListener (ObjectName name, ObjectName listener)

Removes a listener from a registered MBean.

If the listener is registered more than once, perhaps with different filters or callbacks, this method will remove all those registrations.

Parameters
name The name of the MBean on which the listener should be removed.
listener The object name of the listener to be removed.

public void removeNotificationListener (ObjectName name, NotificationListener listener)

Removes a listener from a registered MBean.

If the listener is registered more than once, perhaps with different filters or callbacks, this method will remove all those registrations.

Parameters
name The name of the MBean on which the listener should be removed.
listener The listener object which will handle the notifications emitted by the registered MBean.

public void removeNotificationListener (ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)

Removes a listener from a registered MBean.

The MBean must have a listener that exactly matches the given listener, filter, and handback parameters. If there is more than one such listener, only one is removed.

The filter and handback parameters may be null if and only if they are null in a listener to be removed.

Parameters
name The name of the MBean on which the listener should be removed.
listener A listener that was previously added to this MBean.
filter The filter that was specified when the listener was added.
handback The handback that was specified when the listener was added.

public void setAttribute (ObjectName name, Attribute attribute)

Sets the value of a specific attribute of a named MBean. The MBean is identified by its object name.

Parameters
name The name of the MBean within which the attribute is to be set.
attribute The identification of the attribute to be set and the value it is to be set to.
Throws
InstanceNotFoundException The MBean specified is not registered in the MBean server.
AttributeNotFoundException The attribute specified is not accessible in the MBean.
InvalidAttributeValueException The value specified for the attribute is not valid.
MBeanException Wraps an exception thrown by the MBean's setter.
ReflectionException Wraps an Exception thrown when trying to invoke the setter.
RuntimeOperationsException Wraps an IllegalArgumentException: The object name in parameter is null or the attribute in parameter is null.

public AttributeList setAttributes (ObjectName name, AttributeList attributes)

Sets the values of several attributes of a named MBean. The MBean is identified by its object name.

Parameters
name The object name of the MBean within which the attributes are to be set.
attributes A list of attributes: The identification of the attributes to be set and the values they are to be set to.
Returns
  • The list of attributes that were set, with their new values.
Throws
InstanceNotFoundException The MBean specified is not registered in the MBean server.
ReflectionException An exception occurred when trying to invoke the getAttributes method of a Dynamic MBean.
RuntimeOperationsException Wraps an IllegalArgumentException: The object name in parameter is null or attributes in parameter is null.

public synchronized void setMBeanServerInterceptor (MBeanServerInterceptor interceptor)

Set the MBeanServerInterceptor.

Throws
UnsupportedOperationException if MBeanServerInterceptors are not enabled on this object.

public void unregisterMBean (ObjectName name)

De-registers an MBean from the MBean server. The MBean is identified by its object name. Once the method has been invoked, the MBean may no longer be accessed by its object name.

Parameters
name The object name of the MBean to be de-registered.
Throws
InstanceNotFoundException The MBean specified is not registered in the MBean server.
MBeanRegistrationException The preDeregister() (MBeanRegistration interface) method of the MBean has thrown an exception.
RuntimeOperationsException Wraps an IllegalArgumentException: The object name in parameter is null or the MBean you are when trying to de-register is the MBeanServerDelegate MBean.