javax.management
public interface MBeanServer extends MBeanServerConnection
This interface represents a server for management beans, providing facilities for the creation, registration and removal of such beans. This interface is central to the Java management architecture. Users do not usually implement this class. Instead, implementations of this class may be obtained using an {@link MBeanServerFactory}.
Registering a bean with the server makes its attributes and
operations accessible via the server. Only JMX compliant
beans may be registered with the server. When a bean
is registered or unregistered, an {@link MBeanServerNotification}
is emitted by the server's {@link MBeanServerDelegate}.
Listeners may be registered with this bean in order to
obtain such notifications. It has the {@link ObjectName}
JMImplementation:type=MBeanServerDelegate
.
Security checks are applied on the methods of the server,
as detailed below, if it is obtained using the
{@link MBeanServerFactory#createMBeanServer()} or
{@link MBeanServerFactory#newMBeanServer()} methods and
{@link System.getSecurityManager()} returns a non-null
value. If a check fails, a {@link SecurityException}
is thrown. Note than the class name used in the exception
is that of the bean, and thus, as a result, an
{@link InstanceNotFoundException}
precludes these security checks, due to the class name
that would be used in the exception being unavailable.
Since: 1.5
Method Summary | |
---|---|
void | addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object passback)
Registers the supplied listener with the specified management
bean. |
void | addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object passback) Registers the supplied listener with the specified management bean. |
ObjectInstance | createMBean(String className, ObjectName name) Instantiates a new instance of the specified management bean using the default constructor and registers it with the server under the supplied name. |
ObjectInstance | createMBean(String className, ObjectName name, Object[] params, String[] sig) Instantiates a new instance of the specified management bean using the given constructor and registers it with the server under the supplied name. |
ObjectInstance | createMBean(String className, ObjectName name, ObjectName loaderName) Instantiates a new instance of the specified management bean using the default constructor and registers it with the server under the supplied name. |
ObjectInstance | createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] sig) Instantiates a new instance of the specified management bean using the given constructor and registers it with the server under the supplied name. |
ObjectInputStream | deserialize(ObjectName name, byte[] data)
Deserializes a byte array using the class loader of the specified
management bean as its context.
|
ObjectInputStream | deserialize(String name, byte[] data)
Deserializes a byte array using the same class loader for its context
as was used to load the given class. |
ObjectInputStream | deserialize(String name, ObjectName loader, byte[] data)
Deserializes a byte array using the same class loader for its context
as was used to load the given class. |
Object | getAttribute(ObjectName bean, String name)
Returns the value of the supplied attribute from the specified
management bean.
|
AttributeList | getAttributes(ObjectName bean, String[] names)
Returns the values of the named attributes from the specified
management bean.
|
ClassLoader | getClassLoader(ObjectName name)
Returns the specified class loader. |
ClassLoader | getClassLoaderFor(ObjectName name)
Returns the class loader of the specified management bean. |
ClassLoaderRepository | getClassLoaderRepository()
Returns the class loader repository used by this server.
|
String | getDefaultDomain()
Returns the default domain this server applies to beans that have
no specified domain.
|
String[] | getDomains()
Returns an array containing all the domains used by beans registered
with this server. |
Integer | getMBeanCount()
Returns the number of management beans registered with this server.
|
MBeanInfo | getMBeanInfo(ObjectName name)
Returns information on the given management bean.
|
ObjectInstance | getObjectInstance(ObjectName name)
Returns the {@link ObjectInstance} created for the specified
management bean on registration.
|
Object | instantiate(String name) Creates an instance of the specified class using the list of class loaders from the {@link javax.management.loading.ClassLoaderRepository Class Loader Repository}. |
Object | instantiate(String name, Object[] params, String[] sig)
Creates an instance of the specified class using the list of
class loaders from the {@link
javax.management.loading.ClassLoaderRepository Class Loader
Repository}. |
Object | instantiate(String name, ObjectName loaderName) Creates an instance of the specified class using the supplied class loader. |
Object | instantiate(String name, ObjectName loaderName, Object[] params, String[] sig)
Creates an instance of the specified class using the supplied
class loader. |
Object | invoke(ObjectName bean, String name, Object[] params, String[] sig)
Invokes the supplied operation on the specified management
bean. |
boolean | isInstanceOf(ObjectName name, String className) Returns true if the specified management bean is an instance of the supplied class. |
boolean | isRegistered(ObjectName name)
Returns true if the specified management bean is registered with
the server.
|
Set<ObjectInstance> | queryMBeans(ObjectName name, QueryExp query) Returns a set of {@link ObjectInstance}s matching the specified criteria. |
Set<ObjectName> | queryNames(ObjectName name, QueryExp query) Returns a set of {@link ObjectName}s matching the specified criteria. |
ObjectInstance | registerMBean(Object obj, ObjectName name)
Registers the supplied instance with the server, using the specified
{@link ObjectName}. |
void | removeNotificationListener(ObjectName name, NotificationListener listener)
Removes the specified listener from the list of recipients
of notifications from the supplied bean. |
void | removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object passback)
Removes the specified listener from the list of recipients
of notifications from the supplied bean. |
void | removeNotificationListener(ObjectName name, ObjectName listener)
Removes the specified listener from the list of recipients
of notifications from the supplied bean. |
void | removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object passback)
Removes the specified listener from the list of recipients
of notifications from the supplied bean. |
void | setAttribute(ObjectName name, Attribute attribute)
Sets the value of the specified attribute of the supplied
management bean.
|
AttributeList | setAttributes(ObjectName name, AttributeList attributes)
Sets the value of each of the specified attributes
of the supplied management bean to that specified by
the {@link Attribute} object. |
void | unregisterMBean(ObjectName name)
Unregisters the specified management bean. |
Parameters: name the name of the management bean with which the listener
should be registered. listener the listener which will handle notifications from
the bean. filter the filter to apply to incoming notifications, or
null
if no filtering should be applied. passback an object to be passed to the listener when a
notification is emitted.
Throws: InstanceNotFoundException if the name of the management bean
could not be resolved. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"addNotificationListener")
}.
See Also: MBeanServer MBeanServer NotificationBroadcaster
Registers the supplied listener with the specified management bean. Notifications emitted by the management bean are forwarded to the listener via the server, which will convert any MBean references in the source to portable {@link ObjectName} instances. The notification is otherwise unchanged.
The listener that receives notifications will be the one that is registered with the given name at the time this method is called. Even if it later unregisters and ceases to use that name, it will still receive notifications.
Parameters: name the name of the management bean with which the listener
should be registered. listener the name of the listener which will handle
notifications from the bean. filter the filter to apply to incoming notifications, or
null
if no filtering should be applied. passback an object to be passed to the listener when a
notification is emitted.
Throws: InstanceNotFoundException if the name of the management bean
could not be resolved. RuntimeOperationsException if the bean associated with the given
object name is not a
{@link NotificationListener}. This
exception wraps an
{@link IllegalArgumentException}. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"addNotificationListener")
}.
See Also: MBeanServer MBeanServer NotificationBroadcaster
Instantiates a new instance of the specified management bean using the default constructor and registers it with the server under the supplied name. The class is loaded using the {@link javax.management.loading.ClassLoaderRepository default loader repository} of the server.
If the name supplied is null
, then the bean is
expected to implement the {@link MBeanRegistration} interface.
The {@link MBeanRegistration#preRegister preRegister} method
of this interface will be used to obtain the name in this case.
This method is equivalent to calling {@link
#createMBean(String, ObjectName, Object[], String[])
createMBean(className, name, (Object[]) null,
(String[]) null)
} with null
parameters
and signature.
Parameters: className the class of the management bean, of which an instance should be created. name the name to register the new bean with.
Returns: an {@link ObjectInstance} containing the {@link ObjectName} and Java class name of the created instance.
Throws: ReflectionException if an exception occurs in creating
an instance of the bean. InstanceAlreadyExistsException if a matching instance
already exists. MBeanRegistrationException if an exception occurs in
calling the preRegister
method. MBeanException if the bean's constructor throws an exception. NotCompliantMBeanException if the created bean is not
compliant with the JMX specification. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
class name or object
name or if the object name is a pattern. SecurityException if a security manager exists and the
caller's permissions don't imply the
use of the instantiate
and registerMBean
methods.
See Also: (String, ObjectName, Object[], String[])
Instantiates a new instance of the specified management bean using the given constructor and registers it with the server under the supplied name. The class is loaded using the {@link javax.management.loading.ClassLoaderRepository default loader repository} of the server.
If the name supplied is null
, then the bean is
expected to implement the {@link MBeanRegistration} interface.
The {@link MBeanRegistration#preRegister preRegister} method
of this interface will be used to obtain the name in this case.
Parameters: className the class of the management bean, of which an instance should be created. name the name to register the new bean with. params the parameters for the bean's constructor. sig the signature of the constructor to use.
Returns: an {@link ObjectInstance} containing the {@link ObjectName} and Java class name of the created instance.
Throws: ReflectionException if an exception occurs in creating
an instance of the bean. InstanceAlreadyExistsException if a matching instance
already exists. MBeanRegistrationException if an exception occurs in
calling the preRegister
method. MBeanException if the bean's constructor throws an exception. NotCompliantMBeanException if the created bean is not
compliant with the JMX specification. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
class name or object
name or if the object name is a pattern. SecurityException if a security manager exists and the
caller's permissions don't imply the
use of the instantiate
and registerMBean
methods.
Instantiates a new instance of the specified management bean
using the default constructor and registers it with the server
under the supplied name. The class is loaded using the
given class loader. If this argument is null
,
then the same class loader as was used to load the server
is used.
If the name supplied is null
, then the bean is
expected to implement the {@link MBeanRegistration} interface.
The {@link MBeanRegistration#preRegister preRegister} method
of this interface will be used to obtain the name in this case.
This method is equivalent to calling {@link
#createMBean(String, ObjectName, ObjectName, Object[], String)
createMBean(className, name, loaderName, (Object[]) null,
(String) null)
} with null
parameters
and signature.
Parameters: className the class of the management bean, of which an instance should be created. name the name to register the new bean with. loaderName the name of the class loader.
Returns: an {@link ObjectInstance} containing the {@link ObjectName} and Java class name of the created instance.
Throws: ReflectionException if an exception occurs in creating
an instance of the bean. InstanceAlreadyExistsException if a matching instance
already exists. MBeanRegistrationException if an exception occurs in
calling the preRegister
method. MBeanException if the bean's constructor throws an exception. NotCompliantMBeanException if the created bean is not
compliant with the JMX specification. InstanceNotFoundException if the specified class loader is not
registered with the server. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
class name or object
name or if the object name is a pattern. SecurityException if a security manager exists and the
caller's permissions don't imply the
use of the instantiate
and registerMBean
methods.
See Also: (String, ObjectName, ObjectName, Object[], String[])
Instantiates a new instance of the specified management bean
using the given constructor and registers it with the server
under the supplied name. The class is loaded using the
given class loader. If this argument is null
,
then the same class loader as was used to load the server
is used.
If the name supplied is null
, then the bean is
expected to implement the {@link MBeanRegistration} interface.
The {@link MBeanRegistration#preRegister preRegister} method
of this interface will be used to obtain the name in this case.
Parameters: className the class of the management bean, of which an instance should be created. name the name to register the new bean with. loaderName the name of the class loader. params the parameters for the bean's constructor. sig the signature of the constructor to use.
Returns: an {@link ObjectInstance} containing the {@link ObjectName} and Java class name of the created instance.
Throws: ReflectionException if an exception occurs in creating
an instance of the bean. InstanceAlreadyExistsException if a matching instance
already exists. MBeanRegistrationException if an exception occurs in
calling the preRegister
method. MBeanException if the bean's constructor throws an exception. NotCompliantMBeanException if the created bean is not
compliant with the JMX specification. InstanceNotFoundException if the specified class loader is not
registered with the server. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
class name or object
name or if the object name is a pattern. SecurityException if a security manager exists and the
caller's permissions don't imply the
use of the instantiate
and registerMBean
methods.
Deprecated: {@link #getClassLoaderFor(ObjectName)} should be used to obtain the class loader of the bean, which can then be used to perform deserialization in the user's code.
Deserializes a byte array using the class loader of the specified management bean as its context.Parameters: name the name of the bean whose class loader should be used. data the byte array to be deserialized.
Returns: the deserialized object stream.
Throws: InstanceNotFoundException if the specified bean is not
registered with the server. OperationsException if any I/O error is thrown by the
deserialization process. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"getClassLoaderFor")
Deprecated: {@link #getClassLoaderRepository} should be used to obtain the class loading repository, which can then be used to obtain the {@link Class} instance and deserialize the array using its class loader.
Deserializes a byte array using the same class loader for its context as was used to load the given class. This class loader is obtained by loading the specified class using the {@link javax.management.loading.ClassLoaderRepository Class Loader Repository} and then using the class loader of the resulting {@link Class} instance.Parameters: name the name of the class which should be loaded to obtain the class loader. data the byte array to be deserialized.
Returns: the deserialized object stream.
Throws: OperationsException if any I/O error is thrown by the
deserialization process. ReflectionException if an error occurs in obtaining the
{@link Class} instance. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(null, null, null,
"getClassLoaderRepository")
Deprecated: {@link #getClassLoader(ObjectName} can be used to obtain the named class loader and deserialize the array.
Deserializes a byte array using the same class loader for its context as was used to load the given class. The name of the class loader to be used is supplied, and may benull
if the server's
class loader should be used instead.
Parameters: name the name of the class which should be loaded to obtain the
class loader. loader the name of the class loader to use, or null
if the class loader of the server should be used. data the byte array to be deserialized.
Returns: the deserialized object stream.
Throws: InstanceNotFoundException if the specified class loader is not
registered with the server. OperationsException if any I/O error is thrown by the
deserialization process. ReflectionException if an error occurs in obtaining the
{@link Class} instance. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, loader,
"getClassLoader")
Parameters: bean the bean to retrieve the value from. name the name of the attribute to retrieve.
Returns: the value of the attribute.
Throws: AttributeNotFoundException if the attribute could not be
accessed from the bean. MBeanException if the management bean's accessor throws
an exception. InstanceNotFoundException if the bean can not be found. ReflectionException if an exception was thrown in trying
to invoke the bean's accessor. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
bean or attribute
name. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, name, bean,
"getAttribute")
}.
See Also: getAttribute
Parameters: bean the bean to retrieve the value from. names the names of the attributes to retrieve.
Returns: the values of the attributes.
Throws: InstanceNotFoundException if the bean can not be found. ReflectionException if an exception was thrown in trying
to invoke the bean's accessor. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
bean or attribute
name. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, bean,
"getAttribute")
}. Additionally,
for an attribute name, n
, the
caller's permission must imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, n, bean,
"getAttribute")
} or that attribute will
not be included.
See Also: (String[])
null
, then the class loader of the server will be
returned. If l
is the requested class loader,
and r
is the actual class loader returned, then
either l
and r
will be identical,
or they will at least return the same class from
{@link ClassLoader#loadClass(String)} for any given string.
They may not be identical due to one or the other
being wrapped in another class loader (e.g. for security).
Parameters: name the name of the class loader to return.
Returns: the class loader.
Throws: InstanceNotFoundException if the class loader can not
be found. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"getClassLoader")
l
is the requested class loader, and r
is the actual class loader returned, then either l
and r
will be identical, or they will at least
return the same class from {@link ClassLoader#loadClass(String)}
for any given string. They may not be identical due to one or
the other being wrapped in another class loader (e.g. for
security).
Parameters: name the name of the bean whose class loader should be returned.
Returns: the class loader.
Throws: InstanceNotFoundException if the bean is not registered
with the server. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"getClassLoaderFor")
Returns: the class loader repository.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(null, null, null,
"getClassLoaderRepository")
Returns: the default domain.
Returns: the list of domains.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(null, null, name,
"getDomains")
}. Additionally,
for an domain, d
, the
caller's permission must imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(null, null,
new ObjectName("d:x=x"), "getDomains")
}
or that domain will not be included. Note
that "x=x" is an arbitrary key-value pair
provided to satisfy the constructor.
See Also: getDomain
Returns: the number of registered beans.
Parameters: name the name of the management bean.
Returns: an instance of {@link MBeanInfo} for the bean.
Throws: IntrospectionException if an exception occurs in examining
the bean. InstanceNotFoundException if the bean can not be found. ReflectionException if an exception occurs when trying
to invoke {@link DynamicMBean#getMBeanInfo()}
on the bean. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"getMBeanInfo")
}.
See Also: getMBeanInfo
Parameters: name the name of the bean.
Returns: the corresponding {@link ObjectInstance} instance.
Throws: InstanceNotFoundException if the bean can not be found. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"getObjectInstance")
See Also: MBeanServer
Creates an instance of the specified class using the list of class loaders from the {@link javax.management.loading.ClassLoaderRepository Class Loader Repository}. The class should have a public constructor with no arguments. A reference to the new instance is returned, but the instance is not yet registered with the server.
This method is equivalent to calling {@link
#instantiate(String, Object[], String[])
instantiate(name, (Object[]) null, (String[]) null)
}
with null
parameters and signature.
Parameters: name the name of the class of bean to be instantiated.
Returns: an instance of the given class.
Throws: ReflectionException if an exception is thrown during
loading the class or calling the
constructor. MBeanException if the constructor throws an exception. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
name. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, null,
"instantiate")
}.
See Also: (String, Object[], String[])
Parameters: name the name of the class of bean to be instantiated. params the parameters for the constructor. sig the signature of the constructor.
Returns: an instance of the given class.
Throws: ReflectionException if an exception is thrown during
loading the class or calling the
constructor. MBeanException if the constructor throws an exception. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
name. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, null,
"instantiate")
}.
Creates an instance of the specified class using the supplied
class loader. If the class loader given is null
,
then the class loader of the server will be used. The class
should have a public constructor with no arguments. A reference
to the new instance is returned, but the instance is not yet
registered with the server.
This method is equivalent to calling {@link
#instantiate(String, ObjectName, Object[], String[])
instantiate(name, loaderName, (Object[]) null,
(String[]) null)
} with null
parameters
and signature.
Parameters: name the name of the class of bean to be instantiated. loaderName the name of the class loader to use.
Returns: an instance of the given class.
Throws: InstanceNotFoundException if the class loader is not
registered with the server. ReflectionException if an exception is thrown during
loading the class or calling the
constructor. MBeanException if the constructor throws an exception. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
name. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, null,
"instantiate")
}.
See Also: (String, Object[], String[])
null
,
then the class loader of the server will be used. The class
should have a public constructor matching the supplied
signature. A reference to the new instance is returned,
but the instance is not yet registered with the server.
Parameters: name the name of the class of bean to be instantiated. loaderName the name of the class loader to use. params the parameters for the constructor. sig the signature of the constructor.
Returns: an instance of the given class.
Throws: InstanceNotFoundException if the class loader is not
registered with the server. ReflectionException if an exception is thrown during
loading the class or calling the
constructor. MBeanException if the constructor throws an exception. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
name. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, null,
"instantiate")
}.
Parameters: bean the management bean whose operation should be invoked. name the name of the operation to invoke. params the parameters of the operation. sig the signature of the operation.
Returns: the return value of the method.
Throws: InstanceNotFoundException if the bean can not be found. MBeanException if the method invoked throws an exception. ReflectionException if an exception is thrown in invoking the
method. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, name, bean,
"invoke")
}.
See Also: (String, Object[], String[])
Returns true if the specified management bean is an instance of the supplied class.
A bean, B, is an instance of a class, C, if either of the following conditions holds:
Parameters: name the name of the management bean. className the name of the class to test if name
is
an instance of.
Returns: true if either B is directly an instance of the named class, or B is assignable to the class, given that both it and B's current class were loaded using the same class loader.
Throws: InstanceNotFoundException if the bean can not be found. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"isInstanceOf")
Parameters: name the name of the management bean.
Returns: true if the bean is registered.
Throws: RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
bean name.
Returns a set of {@link ObjectInstance}s matching the specified criteria. The full set of beans registered with the server are passed through two filters:
If both the object name and the query expression are null
,
or the object name has no domain and no key properties,
no filtering will be performed and all beans are returned.
Parameters: name an {@link ObjectName} to use as a filter. query a query expression to apply to each of the beans that match the given object name.
Returns: a set of {@link ObjectInstance}s matching the filtered beans.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(null, null, name,
"queryMBeans")
}. Additionally,
for an bean, b
, the
caller's permission must imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, b, name,
"queryMBeans")
} or that bean will
not be included. Such an exception may also
arise from the execution of the query, in which
case that particular bean will again be excluded.
Returns a set of {@link ObjectName}s matching the specified criteria. The full set of beans registered with the server are passed through two filters:
If both the object name and the query expression are null
,
or the object name has no domain and no key properties,
no filtering will be performed and all beans are returned.
Parameters: name an {@link ObjectName} to use as a filter. query a query expression to apply to each of the beans that match the given object name.
Returns: a set of {@link ObjectName}s matching the filtered beans.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(null, null, name,
"queryNames")
}. Additionally,
for an name, n
, the
caller's permission must imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, n, name,
"queryNames")
} or that name will
not be included. Such an exception may also
arise from the execution of the query, in which
case that particular bean will again be excluded.
Note that these permissions are implied if the
queryMBeans
permissions are available.
null
, then
the bean supplied is expected to implement the {@link MBeanRegistration}
interface and provide the name via the
{@link MBeanRegistration#preRegister preRegister} method
of this interface.
Parameters: obj the object to register with the server. name the name under which to register the object,
or null
if the {@link MBeanRegistration}
interface should be used.
Throws: InstanceAlreadyExistsException if a matching instance
already exists. MBeanRegistrationException if an exception occurs in
calling the preRegister
method. NotCompliantMBeanException if the created bean is not
compliant with the JMX specification. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
object. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"registerMBean")
}. className
here corresponds to the result of
{@link MBeanInfo#getClassName()} for objects of
this class. If this check succeeds, a check
is also made on its
{@link java.security.ProtectionDomain} to ensure
it implies {@link MBeanTrustPermission(String)
MBeanTrustPermission("register")
}.
The use of the {@link MBeanRegistration} interface
results in another {@link MBeanPermission} check
being made on the returned {@link ObjectName}.
Parameters: name the name of the management bean from which the listener should be removed. listener the listener to remove.
Throws: InstanceNotFoundException if the bean can not be found. ListenerNotFoundException if the specified listener
is not registered with the bean. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"removeNotificationListener")
}.
See Also: MBeanServer removeNotificationListener
null
is used as a valid value for these parameters,
rather than as a way to remove all registration instances for
the specified listener; for this behaviour instead, see
{@link #removeNotificationListener(ObjectName, NotificationListener)}.
Parameters: name the name of the management bean from which the listener should be removed. listener the listener to remove. filter the filter of the listener to remove. passback the passback object of the listener to remove.
Throws: InstanceNotFoundException if the bean can not be found. ListenerNotFoundException if the specified listener
is not registered with the bean. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"removeNotificationListener")
}.
See Also: MBeanServer NotificationEmitter
Parameters: name the name of the management bean from which the listener should be removed. listener the name of the listener to remove.
Throws: InstanceNotFoundException if a name doesn't match a registered
bean. ListenerNotFoundException if the specified listener
is not registered with the bean. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"removeNotificationListener")
}.
See Also: MBeanServer removeNotificationListener
null
is used as a valid value for these parameters,
rather than as a way to remove all registration instances for
the specified listener; for this behaviour instead, see
{@link #removeNotificationListener(ObjectName, ObjectName)}.
Parameters: name the name of the management bean from which the listener should be removed. listener the name of the listener to remove. filter the filter of the listener to remove. passback the passback object of the listener to remove.
Throws: InstanceNotFoundException if a name doesn't match a registered
bean. ListenerNotFoundException if the specified listener
is not registered with the bean. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"removeNotificationListener")
}.
See Also: MBeanServer NotificationEmitter
Parameters: name the name of the management bean. attribute the attribute to set.
Throws: InstanceNotFoundException if the bean can not be found. AttributeNotFoundException if the attribute does not
correspond to an attribute
of the bean. InvalidAttributeValueException if the value is invalid
for this particular
attribute of the bean. MBeanException if setting the attribute causes
the bean to throw an exception (which
becomes the cause of this exception). ReflectionException if an exception occurred in trying
to use the reflection interface
to lookup the attribute. The
thrown exception is the cause of
this exception. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
bean or attribute
name. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, name, bean,
"setAttribute")
}.
See Also: MBeanServer setAttribute
Parameters: name the name of the management bean. attributes the attributes to set.
Returns: a list of the changed attributes.
Throws: InstanceNotFoundException if the bean can not be found. ReflectionException if an exception occurred in trying
to use the reflection interface
to lookup the attribute. The
thrown exception is the cause of
this exception. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
bean or attribute
list. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, bean,
"setAttribute")
}. Additionally,
for an attribute name, n
, the
caller's permission must imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, n, bean,
"setAttribute")
} or that attribute will
not be included.
See Also: (ObjectName, String[])
setAttributes
Parameters: name the name of the management bean.
Throws: InstanceNotFoundException if the bean can not be found. MBeanRegistrationException if an exception occurs in
calling the preDeregister
method. RuntimeOperationsException if an {@link IllegalArgumentException}
is thrown by the server due to a
null
bean name or a
request being made to unregister the
{@link MBeanServerDelegate} bean. SecurityException if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(className, null, name,
"unregisterMBean")
}.