Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
mx4j.AbstractDynamicMBean
public abstract class AbstractDynamicMBean
extends java.lang.Object
implements javax.management.DynamicMBean
createMBeanAttributeInfo
, if the MBeans has manageable attributes createMBeanOperationInfo
, if the MBeans has manageable operations createMBeanNotificationInfo
, if the MBeans has manageable notifications createMBeanConstructorInfo
, if the MBeans has manageable constructors getMBeanDescription
public class SimpleDynamic extends AbstractDynamicMBean { protected MBeanAttributeInfo[] createMBeanAttributeInfo() { return new MBeanAttributeInfo[] { new MBeanAttributeInfo("Name", String.class.getName(), "The name", true, true, false) }; } protected String getMBeanDescription() { return "A simple DynamicMBean"; } public String getName() { ... } public void setName(String name) { ... } }It is responsibility of the developer to specify the metadata and implement the methods specified by the metadata, that will be invoked via reflection by the AbstractDynamicMBean class. For this reason, the methods belonging to the MBean implementation (in the case above
getName()
and setName(...)
)
must be public.
Constructor Summary | |
|
Method Summary | |
protected javax.management.MBeanAttributeInfo[] |
|
protected javax.management.MBeanConstructorInfo[] |
|
protected javax.management.MBeanInfo |
|
protected javax.management.MBeanNotificationInfo[] |
|
protected javax.management.MBeanOperationInfo[] |
|
protected Method |
|
Object |
|
javax.management.AttributeList |
|
protected String |
|
protected String |
|
javax.management.MBeanInfo |
|
protected Object |
|
protected Object |
|
protected Object |
|
Object |
|
protected Object |
|
void |
|
javax.management.AttributeList |
|
protected void |
|
void |
|
protected AbstractDynamicMBean()
Only subclasses can create a new instance of an AbstractDynamicMBean.
- See Also:
createMBeanConstructorInfo()
protected javax.management.MBeanAttributeInfo[] createMBeanAttributeInfo()
To be overridden to return metadata information about manageable attributes.
protected javax.management.MBeanConstructorInfo[] createMBeanConstructorInfo()
To be overridden to return metadata information about manageable constructors.
protected javax.management.MBeanInfo createMBeanInfo()
Creates the MBeanInfo for this instance, calling in succession factory methods that the user can override. Information to create MBeanInfo are taken calling the following methods:
protected javax.management.MBeanNotificationInfo[] createMBeanNotificationInfo()
To be overridden to return metadata information about manageable notifications.
protected javax.management.MBeanOperationInfo[] createMBeanOperationInfo()
To be overridden to return metadata information about manageable operations.
protected Method findMethod(Class cls, String name, Class[] params) throws NoSuchMethodException
Returns the (public) method with the given name and signature on the given class.
Override to return non-public methods, or to map methods to other classes, or to map methods with different signatures
public Object getAttribute(String attribute) throws javax.management.AttributeNotFoundException, javax.management.MBeanException, javax.management.ReflectionException
Returns the value of the manageable attribute, as specified by the DynamicMBean interface.
- Specified by:
- getAttribute in interface javax.management.DynamicMBean
- See Also:
createMBeanAttributeInfo()
public javax.management.AttributeList getAttributes(String[] attributes)
Returns the manageable attributes, as specified by the DynamicMBean interface.
- Specified by:
- getAttributes in interface javax.management.DynamicMBean
protected String getMBeanClassName()
To be overridden to return metadata information about the class name of this MBean; by default returns this class' name.
protected String getMBeanDescription()
To be overridden to return metadata information about the description of this MBean.
public javax.management.MBeanInfo getMBeanInfo()
Returns the MBeaInfo, as specified by the DynamicMBean interface; the default implementation caches the value returned bycreateMBeanInfo()
(that is thus called only once).
- Specified by:
- getMBeanInfo in interface javax.management.DynamicMBean
- See Also:
createMBeanInfo()
,setMBeanInfo(MBeanInfo)
protected Object getResource()
Returns the resource object on which invoke attribute's getters, attribute's setters and operation's methods
- See Also:
setResource(Object)
protected Object invoke(Object resource, String name, Class[] params, Object[] args) throws javax.management.InvalidAttributeValueException, javax.management.MBeanException, javax.management.ReflectionException
Looks up the method to call on given resource and invokes it. The default implementation requires that the methods that implement attribute and operation behavior on the resource object are public, but it is possible to override this behavior, and call also private methods.
protected Object invoke(String name, Class[] params, Object[] args) throws javax.management.InvalidAttributeValueException, javax.management.MBeanException, javax.management.ReflectionException
Deprecated. Replaced by
invoke(Object,String,Class[],Object[])
.
The resource passed is the resource as set bysetResource(Object)
or - if it is null - 'this' instance.
This method is deprecated because it is not thread safe.
public Object invoke(String method, Object[] arguments, String[] params) throws javax.management.MBeanException, javax.management.ReflectionException
Returns the value of the manageable operation as specified by the DynamicMBean interface
- Specified by:
- invoke in interface javax.management.DynamicMBean
- See Also:
createMBeanOperationInfo()
protected Object invokeMethod(Method method, Object resource, Object[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
Invokes the given method on the given resource object with the given arguments.
Override to map methods to other objects, or to map methods with different arguments
public void setAttribute(javax.management.Attribute attribute) throws javax.management.AttributeNotFoundException, javax.management.InvalidAttributeValueException, javax.management.MBeanException, javax.management.ReflectionException
Sets the value of the manageable attribute, as specified by the DynamicMBean interface.
- Specified by:
- setAttribute in interface javax.management.DynamicMBean
- See Also:
createMBeanAttributeInfo()
public javax.management.AttributeList setAttributes(javax.management.AttributeList attributes)
Sets the manageable attributes, as specified by the DynamicMBean interface.
- Specified by:
- setAttributes in interface javax.management.DynamicMBean
protected void setMBeanInfo(javax.management.MBeanInfo info)
Sets the MBeanInfo object cached by this instance.
The given MBeanInfo is not cloned.
- See Also:
getMBeanInfo()
public void setResource(Object resource)
Specifies the resource object on which invoke attribute's getters, attribute's setters and operation's methods.
- See Also:
getResource()