org.ow2.jonas.ee.mejb
Class ManagementBean

java.lang.Object
  extended by org.ow2.jonas.ee.mejb.ManagementBean

@RolesAllowed(value={"mejb-admin","mejb-user"})
public class ManagementBean
extends Object

This is the Management EJB implementation for JOnAS. A MEJB instance is created and deployed at JOnAS start time. It is registered in the ejb/mgmt naming subcontext. The current implementation allows access to managed resources registered in the current (local) MBean server via the standard management methods defined in the javax.management.j2ee.Management interface.

Author:
Adriana Danes, Vivek Lakshmanan, Matt Wringe

Constructor Summary
ManagementBean()
           
 
Method Summary
 Object getAttribute(ObjectName name, String attribute)
          Gets the value of a specific attribute of a named managed object.
 AttributeList getAttributes(ObjectName name, String[] attributes)
          Enables the values of several attributes of a named managed object.
 String getDefaultDomain()
          Returns the default domain name of this MEJB.
 ListenerRegistration getListenerRegistry()
          Returns the listener registry implementation for this MEJB.
 Integer getMBeanCount()
          Returns the number of managed objects registered in the MEJB.
 MBeanInfo getMBeanInfo(ObjectName name)
          This method discovers the attributes and operations that a managed object exposes for management.
 void init()
          Get the MBeanServer local reference.
 Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)
          Invokes an operation on a managed object.
 boolean isRegistered(ObjectName name)
          Checks whether a managed object, identified by its object name, is already registered with the MEJB.
 Set queryNames(ObjectName name, QueryExp query)
          Gets the names of managed objects controlled by the MEJB.
 void setAttribute(ObjectName name, Attribute attribute)
          Sets the value of a specific attribute of a named managed object.
 AttributeList setAttributes(ObjectName name, AttributeList attributes)
          Sets the values of several attributes of a named managed object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ManagementBean

public ManagementBean()
Method Detail

init

@PostConstruct
public void init()
Get the MBeanServer local reference.


getAttribute

public Object getAttribute(ObjectName name,
                           String attribute)
                    throws MBeanException,
                           AttributeNotFoundException,
                           InstanceNotFoundException,
                           ReflectionException
Gets the value of a specific attribute of a named managed object. The managed object is identified by its object name.

Parameters:
name - The object name of the managed object from which the attribute is to be retrieved.
attribute - A String specifying the name of the attribute to be retrieved.
Returns:
The value of the retrieved attribute.
Throws:
MBeanException - Wraps an exception thrown by the managed object's getter.
AttributeNotFoundException - The attribute specified is not accessible in the managed object.
InstanceNotFoundException - The managed object specified is not registered in the MEJB.
ReflectionException - An exception occurred when trying to invoke the getAttribute method of a Dynamic MBean

getAttributes

public AttributeList getAttributes(ObjectName name,
                                   String[] attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException
Enables the values of several attributes of a named managed object. The managed object is identified by its object name.

Parameters:
name - The object name of the managed object from which the attributes are retrieved.
attributes - A list of the attributes to be retrieved.
Returns:
The list of the retrieved attributes.
Throws:
InstanceNotFoundException - The managed object specified is not registered in the MEJB.
ReflectionException - An exception occurred when trying to invoke the getAttributes method of a Dynamic MBean.

getDefaultDomain

public String getDefaultDomain()
Returns the default domain name of this MEJB.

Returns:
the default domain name of this MEJB.

getMBeanCount

public Integer getMBeanCount()
Returns the number of managed objects registered in the MEJB.

Returns:
the number of managed objects registered in the MEJB.

getMBeanInfo

public MBeanInfo getMBeanInfo(ObjectName name)
                       throws IntrospectionException,
                              InstanceNotFoundException,
                              ReflectionException
This method discovers the attributes and operations that a managed object exposes for management.

Parameters:
name - The name of the managed object to analyze
Returns:
An instance of MBeanInfo allowing the retrieval of all attributes and operations of this managed object.
Throws:
IntrospectionException - An exception occurs during introspection.
InstanceNotFoundException - The managed object specified is not found.
ReflectionException - An exception occurred when trying to perform reflection on a managed object

invoke

@RolesAllowed(value="mejb-admin")
public Object invoke(ObjectName name,
                                       String operationName,
                                       Object[] params,
                                       String[] signature)
              throws MBeanException,
                     InstanceNotFoundException,
                     ReflectionException
Invokes an operation on a managed object.

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

isRegistered

public boolean isRegistered(ObjectName name)
Checks whether a managed object, identified by its object name, is already registered with the MEJB.

Parameters:
name - The object name of the managed object to be checked.
Returns:
True if the managed object is already registered in the MEJB, false otherwise.

queryNames

public Set queryNames(ObjectName name,
                      QueryExp query)
Gets the names of managed objects controlled by the MEJB. This method enables any of the following to be obtained: The names of all managed objects, the names of a set of managed objects specified by pattern matching on the ObjectName, a specific managed object name (equivalent to testing whether a managed object is registered). When the object name is null or no domain and key properties are specified, all objects are selected. It returns the set of J2EEObjectNames for the managed objects selected.

Parameters:
name - The object name pattern identifying the managed objects to be retrieved. If null or no domain and key properties are specified, all the managed objects registered will be retrieved.
query - a relational constraints for results filtering
Returns:
A set containing the ObjectNames for the managed objects selected. If no managed object satisfies the query, an empty set is returned.

setAttribute

@RolesAllowed(value="mejb-admin")
public void setAttribute(ObjectName name,
                                           Attribute attribute)
                  throws MBeanException,
                         AttributeNotFoundException,
                         InstanceNotFoundException,
                         InvalidAttributeValueException,
                         ReflectionException
Sets the value of a specific attribute of a named managed object. The managed object is identified by its object name.

Parameters:
name - The name of the managed object within which the attribute is to be set.
attribute - The identification of the attribute to be set and the value it is to be set to.
Throws:
InstanceNotFoundException - The managed object specified is not registered in the MEJB.
AttributeNotFoundException - The attribute specified is not accessible in the managed object.
InvalidAttributeValueException - The value specified for the attribute is not valid.
MBeanException - Wraps an exception thrown by the managed object's setter.
ReflectionException - An exception occurred when trying to invoke the setAttribute method of a Dynamic MBean.

setAttributes

@RolesAllowed(value="mejb-admin")
public AttributeList setAttributes(ObjectName name,
                                                     AttributeList attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException
Sets the values of several attributes of a named managed object. The managed object is identified by its object name.

Parameters:
name - The object name of the managed object within which the attributes are to be set.
attributes - A list of attributes: The identification of the attributes to be set and the values they are to be set to.
Returns:
The list of attributes that were set, with their new values.
Throws:
InstanceNotFoundException - The managed object specified is not registered in the MEJB.
ReflectionException - An exception occurred when trying to invoke the setAttributes method of a Dynamic MBean.

getListenerRegistry

public ListenerRegistration getListenerRegistry()
Returns the listener registry implementation for this MEJB. The listener registry implements the methods that enable clients to add and remove event notification listeners managed objects

Returns:
An implementation of ListenerRegistration


Copyright © 2010 OW2 Consortium. All Rights Reserved.