站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss 4.0.1 sp1 jmx API Documentation 英文版文档

MBeanServerImpl (JBoss/JMX API) - JBoss 4.0.1 sp1 jmx API Documentation 英文版文档


org.jboss.mx.server
Class MBeanServerImpl

java.lang.Object
  extended byorg.jboss.mx.server.MBeanServerImpl
All Implemented Interfaces:
MBeanServer, MBeanServerConnection, ModelMBeanConstants, ServerConstants, ServiceConstants

public class MBeanServerImpl
extends Object
implements MBeanServer, ServerConstants, ServiceConstants, ModelMBeanConstants

MBean server implementation. The MBean server behaviour can be configured by setting the following system properties:

The loader repository is used for managing class loaders in the MBean server. The default repository uses the UnifiedLoaderRepository implementation (DEFAULT_LOADER_REPOSITORY_CLASS).

The default registry is (DEFAULT_MBEAN_REGISTRY_CLASS).

The RequiredModelMBean uses XMBean implementation by default (DEFAULT_REQUIRED_MODELMBEAN_CLASS).

Version:
$Revision: 1.75 $
Author:
Juha Lindfors., Trevor Squires., Adrian Brock., Thomas Diesler., Scott.Stark@jboss.org
See Also:
MBeanServer, RequiredModelMBean, ServerConstants, LoaderRepository, UnifiedLoaderRepository3, XMBean

Field Summary
protected  MBeanServer outer
          The wrapping MBeanServer
protected  MBeanRegistry registry
          Registry used by this server to map MBean object names to resource references.
 
Fields inherited from interface org.jboss.mx.server.ServerConstants
CLASS_REMOVED, CLASSLOADER, CLASSLOADER_ADDED, CLASSLOADER_REMOVED, DEFAULT_DOMAIN, DEFAULT_LOADER_NAME, DEFAULT_LOADER_REPOSITORY_CLASS, DEFAULT_MBEAN_REGISTRY_CLASS, DEFAULT_MBEAN_SERVER_BUILDER_CLASS, DEFAULT_REQUIRED_MODELMBEAN_CLASS, DEFAULT_SCOPED_REPOSITORY_CLASS, DEFAULT_SCOPED_REPOSITORY_PARSER_CLASS, IMPLEMENTATION_NAME, IMPLEMENTATION_VENDOR, IMPLEMENTATION_VERSION, JMI_DOMAIN, LOADER_REPOSITORY_CLASS_PROPERTY, MBEAN_REGISTRY, MBEAN_REGISTRY_CLASS_PROPERTY, MBEAN_SERVER_BUILDER_CLASS_PROPERTY, MBEAN_SERVER_CONFIGURATION, MBEAN_SERVER_DELEGATE, OPTIMIZE_REFLECTED_DISPATCHER, REQUIRED_MODELMBEAN_CLASS_PROPERTY, SPECIFICATION_NAME, SPECIFICATION_VENDOR, SPECIFICATION_VERSION, UNIFIED_LOADER_REPOSITORY_CLASS
 
Fields inherited from interface org.jboss.mx.service.ServiceConstants
JBOSSMX_DOMAIN, JBOSSMX_XMBEAN_DTD_1_0, JBOSSMX_XMBEAN_DTD_1_1, JBOSSMX_XMBEAN_DTD_1_2, MBEAN_LOADER_DTD_1_0, PERSISTENCE_TIMER, PUBLIC_JBOSSMX_XMBEAN_DTD_1_0, PUBLIC_JBOSSMX_XMBEAN_DTD_1_1, PUBLIC_JBOSSMX_XMBEAN_DTD_1_2
 
Fields inherited from interface org.jboss.mx.modelmbean.ModelMBeanConstants
ACTION, ACTION_INFO, ALL_DESCRIPTORS, ATTRIBUTE_DESCRIPTOR, ATTRIBUTE_VALUE, CACHE_ALWAYS, CACHE_ALWAYS_LIMIT, CACHE_NEVER, CACHE_NEVER_LIMIT, CACHED_VALUE, CLASS, CONSTRUCTOR_DESCRIPTOR, CURRENCY_TIME_LIMIT, DEFAULT, DELEGATING_PM_OPERATION_DEFAULT_VALUE, DELEGATING_PM_OPERATION_DESCRIPTOR, DELEGATING_PM_SERVICE_DEFAULT_VALUE, DELEGATING_PM_SERVICE_DESCRIPTOR, DESCRIPTOR_TYPE, DISPLAY_NAME, EXPORT, GENERIC_MODELMBEAN_NOTIFICATION, GET_METHOD, HIGH_VISIBILITY, INFO, INTERCEPTORS, IS_IS, IS_READABLE, IS_WRITABLE, LAST_RETURNED_TIME_STAMP, LAST_UPDATED_TIME_STAMP, LAST_UPDATED_TIME_STAMP2, LOG, LOG_FILE, LOW_VISIBILITY, MBEAN_DESCRIPTOR, MBEAN_INFO_INJECTION_TYPE, MBEAN_SERVER_INJECTION_TYPE, MESSAGE_ID, MINIMAL_VISIBILITY, NAME, NORMAL_VISIBILITY, NOTIFICATION_DESCRIPTOR, OBJECT_NAME, OBJECT_NAME_INJECTION_TYPE, OBJECT_REF, OPERATION_DESCRIPTOR, PERSIST_INFO, PERSIST_LOCATION, PERSIST_NAME, PERSIST_PERIOD, PERSIST_POLICIES, PERSIST_POLICY, PERSISTENCE_MANAGER, PP_ALWAYS, PP_NEVER, PP_NO_MORE_OFTEN_THAN, PP_ON_TIMER, PP_ON_UPDATE, PRESENTATION_STRING, PROTOCOL_MAP, RESOURCE_CLASS, ROLE, ROLE_CONSTRUCTOR, ROLE_GETTER, ROLE_OPERATION, ROLE_SETTER, SET_METHOD, SEVERITY, SEVERITY_CRITICAL, SEVERITY_MAJOR, SEVERITY_MINOR, SEVERITY_NON_RECOVERABLE, SEVERITY_NORMAL, SEVERITY_UNKNOWN, SEVERITY_WARNING, TARGET_OBJECT, TARGET_TYPE, VISIBILITY
 
Constructor Summary
MBeanServerImpl(String defaultDomain, MBeanServer outer, MBeanServerDelegate delegate)
          Creates an MBean server implementation with a given default domain name and registers the mandatory server delegate MBean to the server (MBEAN_SERVER_DELEGATE).
 
Method Summary
 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)
          Create an MBean registered using the given object name.
 ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature)
          Create an MBean registered using the given object name.
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName)
          Create an MBean registered using the given object name.
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)
          Create an MBean registered using the given object name.
protected  MBeanRegistry createRegistry(String defaultDomain)
           
 ObjectInputStream deserialize(ObjectName name, byte[] data)
          Deprecated.  
 ObjectInputStream deserialize(String className, byte[] data)
          Deprecated.  
 ObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data)
          Deprecated.  
 Object getAttribute(ObjectName name, String attribute)
          Retrieve a value from an MBean.
 AttributeList getAttributes(ObjectName name, String[] attributes)
          Retrieve a list of values from an MBean.
 ClassLoader getClassLoader(ObjectName name)
          Retrieve the classloader registered as an MBean
 ClassLoader getClassLoaderFor(ObjectName name)
          Retrieve the classloader for an mbean
 ClassLoaderRepository getClassLoaderRepository()
          Retrieve the classloader repository for this mbean server
 String getDefaultDomain()
          Retrieve the default domain of the mbeanserver.
 String[] getDomains()
          Retrieve the domains of the mbeanserver.
 Integer getMBeanCount()
          Retrieve the number of mbeans registered in the server.
 MBeanInfo getMBeanInfo(ObjectName name)
          Retrieves the jmx metadata for an mbean
 ObjectInstance getObjectInstance(ObjectName name)
          Retrieve an MBean's registration information.
protected  void handleInstantiateExceptions(Throwable t, String className)
          Handles errors thrown during class instantiation
 Object instantiate(String className)
          Instantiates an object using the default loader repository and default no-args constructor.
protected  Object instantiate(String className, ClassLoader cl, Object[] params, String[] signature)
          Instantiate an object, the passed classloader is set as the thread's context classloader for the duration of this method.
 Object instantiate(String className, Object[] params, String[] signature)
          Instantiates an object using the default loader repository and a given constructor.
 Object instantiate(String className, ObjectName loaderName)
          Instantiates an object using the given class loader.
 Object instantiate(String className, ObjectName loaderName, Object[] params, String[] signature)
          Instantiates an object using the given class loader.
 Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)
          Invokes an operation on an mbean.
 boolean isInstanceOf(ObjectName name, String className)
          Tests whether an mbean can be cast to the given type
 boolean isRegistered(ObjectName name)
          Test whether an mbean is registered.
protected  boolean queryMBean(ObjectName objectName, QueryExp queryExp)
          Query an MBean against the query
 Set queryMBeans(ObjectName name, QueryExp query)
          Retrieve a set of Object instances
 Set queryNames(ObjectName name, QueryExp query)
          Retrieve a set of Object names
 ObjectInstance registerMBean(Object object, ObjectName name)
          Registers a pre-existing object as an MBean with the MBean server.
protected  ObjectInstance registerMBean(Object object, ObjectName name, ClassLoader cl)
          Register an MBean
protected  ObjectInstance registerMBean(Object mbean, ObjectName name, ObjectName loaderName)
          Register an MBean
 void releaseServer()
           
 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 removeNotificationListener(ObjectName name, ObjectName listener)
          Removes a listener from a registered MBean.
 void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
          Removes a listener from a registered MBean.
 void setAttribute(ObjectName name, Attribute attribute)
          Set a value for an MBean.
 AttributeList setAttributes(ObjectName name, AttributeList attributes)
          Set a list of values for an MBean.
 void unregisterMBean(ObjectName name)
          Unregisters an mbean.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

outer

protected MBeanServer outer
The wrapping MBeanServer


registry

protected MBeanRegistry registry
Registry used by this server to map MBean object names to resource references.

Constructor Detail

MBeanServerImpl

public MBeanServerImpl(String defaultDomain,
                       MBeanServer outer,
                       MBeanServerDelegate delegate)
Creates an MBean server implementation with a given default domain name and registers the mandatory server delegate MBean to the server (MBEAN_SERVER_DELEGATE).

Parameters:
defaultDomain - default domain name
outer - the wrapping MBeanServer, passed to MBeans at registration.
delegate - the delegate to use for Notifications.
Method Detail

instantiate

public Object instantiate(String className)
                   throws ReflectionException,
                          MBeanException
Description copied from interface: MBeanServer
Instantiates an object using the default loader repository and default no-args constructor.

Specified by:
instantiate in interface MBeanServer
Parameters:
className - Class to instantiate. Must have a public no-args constructor. Cannot contain a null reference.
Returns:
instantiated object
Throws:
ReflectionException - If there was an error while trying to invoke the class's constructor or the given class was not found. This exception wraps the actual exception thrown.
MBeanException - If the object constructor threw a checked exception during the initialization. This exception wraps the actual exception thrown.
See Also:
DefaultLoaderRepository

instantiate

public Object instantiate(String className,
                          Object[] params,
                          String[] signature)
                   throws ReflectionException,
                          MBeanException
Description copied from interface: MBeanServer
Instantiates an object using the default loader repository and a given constructor. The class being instantiated must contain a constructor that matches the signature given as an argument to this method call.

Specified by:
instantiate in interface MBeanServer
Parameters:
className - class to instantiate
params - argument values for the constructor call
signature - signature of the constructor as fully qualified class names
Returns:
instantiated object
Throws:
MBeanException - If the object constructor raised a checked exception during the initialization. This exception wraps the actual exception thrown.
ReflectionException - If there was an error while trying to invoke the class's constructor or the given class was not found. This exception wraps the actual exception thrown.
See Also:
DefaultLoaderRepository

instantiate

public Object instantiate(String className,
                          ObjectName loaderName)
                   throws ReflectionException,
                          MBeanException,
                          InstanceNotFoundException
Description copied from interface: MBeanServer
Instantiates an object using the given class loader. If the loader name contains a null reference, the class loader of the MBean server implementation will be used. The object must have a default, no-args constructor.

Specified by:
instantiate in interface MBeanServer
Parameters:
className - Class to instantiate. Must have a public no args constructor. Cannot contain a null reference.
loaderName - Object name of a class loader that has been registered to the server. If null, the class loader of the MBean server is used.
Returns:
instantiated object
Throws:
ReflectionException - If there was an error while trying to invoke the class's constructor or the given class was not found. This exception wraps the actual exception thrown.
InstanceNotFoundException - if the specified class loader was not registered to the agent
MBeanException - If the object constructor threw a checked exception during the initialization. This exception wraps the actual exception thrown.

instantiate

public Object instantiate(String className,
                          ObjectName loaderName,
                          Object[] params,
                          String[] signature)
                   throws ReflectionException,
                          MBeanException,
                          InstanceNotFoundException
Description copied from interface: MBeanServer
Instantiates an object using the given class loader. If the loader name contains a null reference, the class loader of the MBean server implementation will be used. The object must contain a constructor with a matching signature given as a parameter to this call.

Specified by:
instantiate in interface MBeanServer
Parameters:
className - class to instantiate
loaderName - object name of a registered class loader in the agent.
params - argument values for the constructor call
signature - signature of the constructor as fully qualified class name strings
Returns:
instantiated object
Throws:
MBeanException - If the object constructor raised a checked exception during the initialization. This exception wraps the actual exception thrown.
ReflectionException - If there was an error while trying to invoke the class's constructor or the given class was not found. this exception wraps the actual exception thrown.
InstanceNotFoundException - if the specified class loader was not registered to the agent.

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException
Description copied from interface: MBeanServer
Create an MBean registered using the given object name.

Uses the default contructor.

Specified by:
createMBean in interface MBeanServer
Parameters:
className - the class name of the mbean
name - the object name for registration, can be null
Returns:
an ObjectInstance describing the registration
Throws:
ReflectionException - for class not found or an exception invoking the contructor
InstanceAlreadyExistsException - for an MBean already registered with the passed or generated ObjectName
MBeanRegistrationException - for any exception thrown by the MBean's preRegister
NotCompliantMBeanException - if the class name does not correspond to a valid MBean
MBeanException - for any exception thrown by the MBean's constructor

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name,
                                  Object[] params,
                                  String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException
Description copied from interface: MBeanServer
Create an MBean registered using the given object name.

Uses the specified constructor.

Specified by:
createMBean in interface MBeanServer
Parameters:
className - the class name of the mbean
params - the parameters for the constructor
signature - the signature of the constructor
Returns:
an ObjectInstance describing the registration
Throws:
NotCompliantMBeanException - if the class name does not correspond to a valid MBean
MBeanException - for any exception thrown by the MBean's constructor
InstanceAlreadyExistsException - for an MBean already registered with the passed or generated ObjectName
ReflectionException - for class not found or an exception invoking the contructor
MBeanRegistrationException - for any exception thrown by the MBean's preRegister

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name,
                                  ObjectName loaderName)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException
Description copied from interface: MBeanServer
Create an MBean registered using the given object name.

The MBean is loaded using the passed classloader. Uses the default contructor.

Specified by:
createMBean in interface MBeanServer
Parameters:
className - the class name of the mbean
loaderName - an MBean that implements a classloader
name - the object name for registration, can be null
Returns:
an ObjectInstance describing the registration
Throws:
MBeanException - for any exception thrown by the MBean's constructor
ReflectionException - for class not found or an exception invoking the contructor
InstanceAlreadyExistsException - for an MBean already registered with the passed or generated ObjectName
InstanceNotFoundException - if the loaderName is not a classloader registered in the MBeanServer
MBeanRegistrationException - for any exception thrown by the MBean's preRegister
NotCompliantMBeanException - if the class name does not correspond to a valid MBean

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name,
                                  ObjectName loaderName,
                                  Object[] params,
                                  String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException
Description copied from interface: MBeanServer
Create an MBean registered using the given object name.

The MBean is loaded using the passed classloader. Uses the specified constructor.

Specified by:
createMBean in interface MBeanServer
Parameters:
className - the class name of the mbean
loaderName - an MBean that implements a classloader
name - the object name for registration, can be null
params - the parameters for the constructor
signature - the signature of the constructor
Returns:
an ObjectInstance describing the registration
Throws:
NotCompliantMBeanException - if the class name does not correspond to a valid MBean
MBeanRegistrationException - for any exception thrown by the MBean's preRegister
InstanceNotFoundException - if the loaderName is not a classloader registered in the MBeanServer
InstanceAlreadyExistsException - for an MBean already registered with the passed or generated ObjectName
ReflectionException - for class not found or an exception invoking the contructor
MBeanException - for any exception thrown by the MBean's constructor

registerMBean

public ObjectInstance registerMBean(Object object,
                                    ObjectName name)
                             throws InstanceAlreadyExistsException,
                                    MBeanRegistrationException,
                                    NotCompliantMBeanException
Registers a pre-existing object as an MBean with the MBean server. If the object name given is null, the MBean must provide its own name by implementing the MBeanRegistration interface and returning the name from the preRegister method.

Specified by:
registerMBean in interface MBeanServer
Parameters:
object - the mbean implementation to register
name - the object name of the mbean to register
Throws:
NotCompliantMBeanException - if the class name does not correspond to a valid MBean
MBeanRegistrationException - for any exception thrown by the MBean's preDeregister
InstanceAlreadyExistsException - if the object name is already registered in the MBeanServer

unregisterMBean

public void unregisterMBean(ObjectName name)
                     throws InstanceNotFoundException,
                            MBeanRegistrationException
Description copied from interface: MBeanServer
Unregisters an mbean.

Specified by:
unregisterMBean in interface MBeanServer
Parameters:
name - the object name of the mbean to unregister
Throws:
MBeanRegistrationException - for any exception thrown by the MBean's preDeregister
InstanceNotFoundException - if the mbean is not registered in the MBeanServer

getObjectInstance

public ObjectInstance getObjectInstance(ObjectName name)
                                 throws InstanceNotFoundException
Description copied from interface: MBeanServer
Retrieve an MBean's registration information.

Specified by:
getObjectInstance in interface MBeanServer
Parameters:
name - the object name of the mbean
Throws:
InstanceNotFoundException - if the mbean is not registered in the MBeanServer

queryMBeans

public Set queryMBeans(ObjectName name,
                       QueryExp query)
Description copied from interface: MBeanServer
Retrieve a set of Object instances

Specified by:
queryMBeans in interface MBeanServer
Parameters:
name - an ObjectName pattern, can be null for all mbeans
query - a query expression to further filter the mbeans, can be null for no query

queryNames

public Set queryNames(ObjectName name,
                      QueryExp query)
Description copied from interface: MBeanServer
Retrieve a set of Object names

Specified by:
queryNames in interface MBeanServer
Parameters:
name - an ObjectName pattern, can be null for all mbeans
query - a query expression to further filter the mbeans, can be null for no query

isRegistered

public boolean isRegistered(ObjectName name)
Description copied from interface: MBeanServer
Test whether an mbean is registered.

Specified by:
isRegistered in interface MBeanServer
Parameters:
name - the object name of the mbean
Returns:
true when the mbean is registered, false otherwise

getMBeanCount

public Integer getMBeanCount()
Description copied from interface: MBeanServer
Retrieve the number of mbeans registered in the server.

Specified by:
getMBeanCount in interface MBeanServer
Returns:
true the number of registered mbeans

getAttribute

public Object getAttribute(ObjectName name,
                           String attribute)
                    throws MBeanException,
                           AttributeNotFoundException,
                           InstanceNotFoundException,
                           ReflectionException
Description copied from interface: MBeanServer
Retrieve a value from an MBean.

Specified by:
getAttribute in interface MBeanServer
Parameters:
name - the object name of the mbean
attribute - the attribute name of the value to retrieve
Returns:
the value
Throws:
MBeanException - for any exception thrown by the mbean
ReflectionException - for an exception invoking the mbean
InstanceNotFoundException - if the mbean is not registered
AttributeNotFoundException - if the mbean has no such attribute

getAttributes

public AttributeList getAttributes(ObjectName name,
                                   String[] attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException
Description copied from interface: MBeanServer
Retrieve a list of values from an MBean.

Specified by:
getAttributes in interface MBeanServer
Parameters:
name - the object name of the mbean
attributes - the attribute names of the values to retrieve
Returns:
the list of values, attributes with errors are ignored
Throws:
InstanceNotFoundException - if the mbean is not registered
ReflectionException - for an exception invoking the mbean

setAttribute

public void setAttribute(ObjectName name,
                         Attribute attribute)
                  throws InstanceNotFoundException,
                         AttributeNotFoundException,
                         InvalidAttributeValueException,
                         MBeanException,
                         ReflectionException
Description copied from interface: MBeanServer
Set a value for an MBean.

Specified by:
setAttribute in interface MBeanServer
Parameters:
name - the object name of the mbean
attribute - the attribute name and value to set
Throws:
AttributeNotFoundException - if the mbean has no such attribute
MBeanException - for any exception thrown by the mbean
InvalidAttributeValueException - if the new value has an incorrect type
ReflectionException - for an exception invoking the mbean
InstanceNotFoundException - if the mbean is not registered

setAttributes

public AttributeList setAttributes(ObjectName name,
                                   AttributeList attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException
Description copied from interface: MBeanServer
Set a list of values for an MBean.

Specified by:
setAttributes in interface MBeanServer
Parameters:
name - the object name of the mbean
attributes - the attribute names and values to set
Returns:
the list of values, attributes with errors are ignored
Throws:
InstanceNotFoundException - if the mbean is not registered
ReflectionException - for an exception invoking the mbean

invoke

public Object invoke(ObjectName name,
                     String operationName,
                     Object[] params,
                     String[] signature)
              throws InstanceNotFoundException,
                     MBeanException,
                     ReflectionException
Description copied from interface: MBeanServer
Invokes an operation on an mbean.

Specified by:
invoke in interface MBeanServer
Parameters:
name - the object name of the mbean
operationName - the operation to perform
params - the parameters
signature - the signature of the operation
Returns:
any result of the operation
Throws:
InstanceNotFoundException - if the mbean is not registered
ReflectionException - for an exception invoking the mbean
MBeanException - for any exception thrown by the mbean

getMBeanInfo

public MBeanInfo getMBeanInfo(ObjectName name)
                       throws InstanceNotFoundException,
                              IntrospectionException,
                              ReflectionException
Description copied from interface: MBeanServer
Retrieves the jmx metadata for an mbean

Specified by:
getMBeanInfo in interface MBeanServer
Parameters:
name - the name of the mbean
Returns:
the metadata
Throws:
ReflectionException - for any error trying to invoke the operation on the mbean
InstanceNotFoundException - if the mbean is not registered
IntrospectionException - for any error during instrospection

getDefaultDomain

public String getDefaultDomain()
Description copied from interface: MBeanServer
Retrieve the default domain of the mbeanserver.

Specified by:
getDefaultDomain in interface MBeanServer
Returns:
the default domain

getDomains

public String[] getDomains()
Description copied from interface: MBeanServer
Retrieve the domains of the mbeanserver.

Specified by:
getDomains in interface MBeanServer
Returns:
the domains

addNotificationListener

public void addNotificationListener(ObjectName name,
                                    NotificationListener listener,
                                    NotificationFilter filter,
                                    Object handback)
                             throws InstanceNotFoundException
Adds a listener to a registered MBean. A notification emitted by the MBean will be forwarded by the MBeanServer to the listener. If the source of the notification is a reference to the MBean object, the MBean server will replace it by the MBean's ObjectName. Otherwise the source is unchanged.

Specified by:
addNotificationListener in interface MBeanServer
Parameters:
name - the name of the MBean broadcasting notifications
listener - the listener to add
filter - a filter to preprocess notifications
handback - a object to add to any notifications
Throws:
InstanceNotFoundException - if the broadcaster is not registered

addNotificationListener

public void addNotificationListener(ObjectName name,
                                    ObjectName listener,
                                    NotificationFilter filter,
                                    Object handback)
                             throws InstanceNotFoundException
Adds a listener to a registered MBean. A notification emitted by the MBean will be forwarded by the MBeanServer to the listener. If the source of the notification is a reference to the MBean object, the MBean server will replace it by the MBean's ObjectName. Otherwise the source is unchanged. The listener object that receives notifications is the one that is registered with the given name at the time this method is called. Even if it is subsequently unregistered, it will continue to receive notifications.

Specified by:
addNotificationListener in interface MBeanServer
Parameters:
name - the name of the MBean broadcasting notifications
listener - the object name listener to add
filter - a filter to preprocess notifications
handback - a object to add to any notifications
Throws:
InstanceNotFoundException - if the broadcaster or listener is not registered

removeNotificationListener

public void removeNotificationListener(ObjectName name,
                                       NotificationListener listener)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
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.

Specified by:
removeNotificationListener in interface MBeanServer
Parameters:
name - the name of the MBean broadcasting notifications
listener - the listener to remove
Throws:
InstanceNotFoundException - if the broadcaster is not registered
ListenerNotFoundException - if the listener is not registered against the broadcaster

removeNotificationListener

public void removeNotificationListener(ObjectName name,
                                       ObjectName listener)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
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.

Specified by:
removeNotificationListener in interface MBeanServer
Parameters:
name - the name of the MBean broadcasting notifications
listener - the object name of the listener to remove
Throws:
InstanceNotFoundException - if the broadcaster or listener is not registered
ListenerNotFoundException - if the listener is not registered against the broadcaster

removeNotificationListener

public void removeNotificationListener(ObjectName name,
                                       NotificationListener listener,
                                       NotificationFilter filter,
                                       Object handback)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
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.

Specified by:
removeNotificationListener in interface MBeanServer
Parameters:
name - the name of the MBean broadcasting notifications
listener - the listener to remove
filter - the filter of the listener to remove
Throws:
ListenerNotFoundException - if the listener, filter, handback is not registered against the broadcaster
InstanceNotFoundException - if the broadcaster is not registered

removeNotificationListener

public void removeNotificationListener(ObjectName name,
                                       ObjectName listener,
                                       NotificationFilter filter,
                                       Object handback)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
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.

Specified by:
removeNotificationListener in interface MBeanServer
Parameters:
name - the name of the MBean broadcasting notifications
listener - the object name of listener to remove
filter - the filter of the listener to remove
Throws:
ListenerNotFoundException - if the listener, filter, handback is not registered against the broadcaster
InstanceNotFoundException - if the broadcaster or listener is not registered

isInstanceOf

public boolean isInstanceOf(ObjectName name,
                            String className)
                     throws InstanceNotFoundException
Description copied from interface: MBeanServer
Tests whether an mbean can be cast to the given type

Specified by:
isInstanceOf in interface MBeanServer
Parameters:
name - the name of the mbean
className - the class name to check
Returns:
true when it is of that type, false otherwise
Throws:
InstanceNotFoundException - if the mbean is not registered

deserialize

public ObjectInputStream deserialize(ObjectName name,
                                     byte[] data)
                              throws InstanceNotFoundException,
                                     OperationsException
Deprecated.  

Specified by:
deserialize in interface MBeanServer
Throws:
InstanceNotFoundException
OperationsException

deserialize

public ObjectInputStream deserialize(String className,
                                     byte[] data)
                              throws OperationsException,
                                     ReflectionException
Deprecated.  

Specified by:
deserialize in interface MBeanServer
Throws:
OperationsException
ReflectionException

deserialize

public ObjectInputStream deserialize(String className,
                                     ObjectName loaderName,
                                     byte[] data)
                              throws InstanceNotFoundException,
                                     OperationsException,
                                     ReflectionException
Deprecated.  

Specified by:
deserialize in interface MBeanServer
Throws:
InstanceNotFoundException
OperationsException
ReflectionException

getClassLoaderFor

public ClassLoader getClassLoaderFor(ObjectName name)
                              throws InstanceNotFoundException
Description copied from interface: MBeanServer
Retrieve the classloader for an mbean

Specified by:
getClassLoaderFor in interface MBeanServer
Parameters:
name - the object name of the mbean
Returns:
the classloader
Throws:
InstanceNotFoundException - when the mbean is not registered

getClassLoader

public ClassLoader getClassLoader(ObjectName name)
                           throws InstanceNotFoundException
Description copied from interface: MBeanServer
Retrieve the classloader registered as an MBean

Specified by:
getClassLoader in interface MBeanServer
Parameters:
name - The ObjectName of the ClassLoader. May be null, in which case the MBean server's own ClassLoader is returned.
Returns:
Throws:
InstanceNotFoundException

getClassLoaderRepository

public ClassLoaderRepository getClassLoaderRepository()
Retrieve the classloader repository for this mbean server

Specified by:
getClassLoaderRepository in interface MBeanServer
Returns:
the classloader repository

releaseServer

public void releaseServer()

instantiate

protected Object instantiate(String className,
                             ClassLoader cl,
                             Object[] params,
                             String[] signature)
                      throws ReflectionException,
                             MBeanException
Instantiate an object, the passed classloader is set as the thread's context classloader for the duration of this method.

Parameters:
className - the class name of the object to instantiate
cl - the thread classloader, pass null to use the ClassLoaderRepository
params - the parameters for the constructor
signature - the signature of the constructor
Throws:
ReflectionException - wraps a ClassCastException or any Exception trying to invoke the constructor
MBeanException - wraps any exception thrown by the constructor
RuntimeOperationsException - Wraps an IllegalArgument for a null className

handleInstantiateExceptions

protected void handleInstantiateExceptions(Throwable t,
                                           String className)
                                    throws ReflectionException,
                                           MBeanException
Handles errors thrown during class instantiation

Throws:
ReflectionException
MBeanException

registerMBean

protected ObjectInstance registerMBean(Object mbean,
                                       ObjectName name,
                                       ObjectName loaderName)
                                throws ReflectionException,
                                       InstanceAlreadyExistsException,
                                       MBeanRegistrationException,
                                       MBeanException,
                                       NotCompliantMBeanException,
                                       InstanceNotFoundException
Register an MBean

The classloader is used as the thread context classloader during access to the mbean and it's interceptors

Parameters:
mbean - the mbean to register
name - the object name to register
loaderName - the object name of a class loader also used as as the MBeans TCL
Throws:
InstanceAlreadyExistsException - when already registered
MBeanRegistrationException - when preRegister(MBeanServer, ObjectName) throws an exception
NotCompliantMBeanException - when the object is not an MBean
ReflectionException
MBeanException
InstanceNotFoundException

registerMBean

protected ObjectInstance registerMBean(Object object,
                                       ObjectName name,
                                       ClassLoader cl)
                                throws InstanceAlreadyExistsException,
                                       MBeanRegistrationException,
                                       NotCompliantMBeanException
Register an MBean

The classloader is used as the thread context classloader during access to the mbean and it's interceptors

Parameters:
object - the mbean to register
name - the object name to register
cl - the thread classloader, pass null for the current one
Throws:
InstanceAlreadyExistsException - when already registered
MBeanRegistrationException - when preRegister(MBeanServer, ObjectName) throws an exception
NotCompliantMBeanException - when the object is not an MBean

queryMBean

protected boolean queryMBean(ObjectName objectName,
                             QueryExp queryExp)
Query an MBean against the query

Parameters:
objectName - the object name of the mbean to check
queryExp - the query expression to test
Returns:
true when the query applies to the MBean or the query is null, false otherwise.

createRegistry

protected MBeanRegistry createRegistry(String defaultDomain)


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.