Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.mx.server
Class MBeanServerImpl

    java.lang.Object
      org.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:

- `jbossmx.loader.repository.class` (`LOADER_REPOSITORY_CLASS_PROPERTY`)
- `jbossmx.mbean.registry.class` (`MBEAN_REGISTRY_CLASS_PROPERTY`)
- `jbossmx.required.modelmbean.class` (`REQUIRED_MODELMBEAN_CLASS_PROPERTY`)

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)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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