org.apache.commons.modeler
public class BaseModelMBean extends Object implements ModelMBean, MBeanRegistration
Basic implementation of the ModelMBean
interface, which
supports the minimal requirements of the interface contract.
This can be used directly to wrap an existing java bean, or inside an mlet or anywhere an MBean would be used. The String parameter passed to the constructor will be used to construct an instance of the real object that we wrap. Limitations:
objectReference
are
supportd.invoke()
are immediately executed.void
.Version: $Revision: 383269 $ $Date: 2006-03-04 21:22:41 -0500 (Sat, 04 Mar 2006) $
Nested Class Summary | |
---|---|
static class | BaseModelMBean.MethodKey |
Field Summary | |
---|---|
protected BaseNotificationBroadcaster | attributeBroadcaster
Notification broadcaster for attribute changes. |
protected HashMap | attributes Attribute values. |
protected BaseNotificationBroadcaster | generalBroadcaster
Notification broadcaster for general notifications. |
Hashtable | getAttMap |
protected ModelMBeanInfo | info
The ModelMBeanInfo object that controls our activity. |
Hashtable | invokeAttMap |
static Log | log |
static Object[] | NO_ARGS_PARAM |
static Class[] | NO_ARGS_PARAM_SIG |
protected ObjectName | oname |
protected Registry | registry Registry we are associated with |
protected Object | resource
The managed resource this MBean is associated with (if any). |
protected String | resourceType |
Hashtable | setAttMap |
protected ModelerSource | source Source object used to read this mbean. |
Constructor Summary | |
---|---|
BaseModelMBean()
Construct a ModelMBean with default
ModelMBeanInfo information.
| |
BaseModelMBean(ModelMBeanInfo info)
Construct a ModelMBean associated with the specified
ModelMBeanInfo information.
| |
BaseModelMBean(String type) Construct a ModelMBean of a specified type.
| |
BaseModelMBean(String type, ModelerSource source) |
Method Summary | |
---|---|
void | addAttributeChangeNotificationListener(NotificationListener listener, String name, Object handback)
Add an attribute change notification event listener to this MBean.
|
void | addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Add a notification event listener to this MBean.
|
protected ModelMBeanInfo | createDefaultModelMBeanInfo()
Create and return a default ModelMBeanInfo object. |
protected void | createResource() Set the type of the mbean. |
Object | getAttribute(String name)
Obtain and return the value of a specific attribute of this MBean.
|
Class | getAttributeClass(String signature) |
AttributeList | getAttributes(String[] names)
Obtain and return the values of several attributes of this MBean.
|
String | getClassName() |
ObjectName | getJmxName() |
Object | getManagedResource()
Get the instance handle of the object against which we execute
all methods in this ModelMBean management interface.
|
MBeanInfo | getMBeanInfo()
Return the MBeanInfo object for this MBean. |
String | getModelerType() |
MBeanNotificationInfo[] | getNotificationInfo()
Return an MBeanNotificationInfo object describing the
notifications sent by this MBean. |
String | getObjectName() |
Registry | getRegistry() |
protected void | initModelInfo(String type) Set the type of the mbean. |
Object | invoke(String name, Object[] params, String[] signature)
Invoke a particular method on this MBean, and return any returned
value.
|
protected boolean | isModelMBeanInfoValid(ModelMBeanInfo info)
Is the specified ModelMBeanInfo instance valid?
|
void | load()
Instantiates this MBean instance from data found in the persistent
store. |
void | postDeregister() |
void | postRegister(Boolean registrationDone) |
void | preDeregister() |
ObjectName | preRegister(MBeanServer server, ObjectName name) |
void | removeAttributeChangeNotificationListener(NotificationListener listener, String name)
Remove an attribute change notification event listener from
this MBean.
|
void | removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback)
Remove an attribute change notification event listener from
this MBean.
|
void | removeNotificationListener(NotificationListener listener)
Remove a notification event listener from this MBean.
|
void | removeNotificationListener(NotificationListener listener, Object handback)
Remove a notification event listener from this MBean.
|
void | removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Remove a notification event listener from this MBean.
|
void | sendAttributeChangeNotification(AttributeChangeNotification notification)
Send an AttributeChangeNotification to all registered
listeners.
|
void | sendAttributeChangeNotification(Attribute oldValue, Attribute newValue)
Send an AttributeChangeNotification to all registered
listeners.
|
void | sendNotification(Notification notification)
Send a Notification to all registered listeners as a
jmx.modelmbean.general notification.
|
void | sendNotification(String message)
Send a Notification which contains the specified string
as a jmx.modelmbean.generic notification.
|
void | setAttribute(Attribute attribute)
Set the value of a specific attribute of this MBean.
|
AttributeList | setAttributes(AttributeList attributes)
Set the values of several attributes of this MBean.
|
void | setManagedResource(Object resource, String type)
Set the instance handle of the object against which we will execute
all methods in this ModelMBean management interface.
|
void | setModeledType(String type) Set the type of the mbean. |
void | setModelMBeanInfo(ModelMBeanInfo info)
Initialize the ModelMBeanInfo associated with this
ModelMBean . |
void | setRegistry(Registry registry) |
void | store()
Capture the current state of this MBean instance and write it out
to the persistent store. |
String | toString() |
ModelMBeanInfo
object that controls our activity.ModelMBean
with default
ModelMBeanInfo
information.
Throws: MBeanException if the initializer of an object throws an exception RuntimeOperationsException if an IllegalArgumentException occurs
ModelMBean
associated with the specified
ModelMBeanInfo
information.
Parameters: info ModelMBeanInfo for this MBean
Throws: MBeanException if the initializer of an object throws an exception RuntimeOperationsException if an IllegalArgumentException occurs
Parameters: type Class name or the type key used in the descriptor.
Throws: MBeanException RuntimeOperationsException
Parameters: listener Listener that will receive event notifications name Name of the attribute of interest, or null
to indicate interest in all attributes handback Handback object to be sent along with event
notifications
Throws: IllegalArgumentException if the listener parameter is null
Parameters: listener Listener that will receive event notifications filter Filter object used to filter event notifications
actually delivered, or null
for no filtering handback Handback object to be sent along with event
notifications
Throws: IllegalArgumentException if the listener parameter is null
ModelMBeanInfo
object.Parameters: name Name of the requested attribute
Throws: AttributeNotFoundException if this attribute is not supported by this MBean MBeanException if the initializer of an object throws an exception ReflectionException if a Java reflection exception occurs when invoking the getter
Parameters: names Names of the requested attributes
Throws: InstanceNotFoundException if the managed resource object
cannot be found MBeanException if the initializer of the object throws
an exception RuntimeOperationsException if the managed resource or the
resource type is null
or invalid
MBeanInfo
object for this MBean.MBeanNotificationInfo
object describing the
notifications sent by this MBean.Parameters: type the type of classname of the modeled object
IMPLEMENTATION NOTE - This implementation will attempt to invoke this method on the MBean itself, or (if not available) on the managed resource object associated with this MBean.
Parameters: name Name of the operation to be invoked params Array containing the method parameters of this operation signature Array containing the class names representing the signature of this operation
Throws: MBeanException if the initializer of an object throws an exception ReflectioNException if a Java reflection exception occurs when invoking a method
ModelMBeanInfo
instance valid?
IMPLEMENTATION NOTE - This implementation does not check anything, but this method can be overridden as required.
Parameters: info The ModelMBeanInfo object to check
MBeanServer
.
IMPLEMENTATION NOTE - This implementation does not support persistence.
Throws: InstanceNotFoundException if the managed resource object cannot be found MBeanException if the initializer of the object throws an exception RuntimeOperationsException if an exception is reported by the persistence mechanism
Parameters: listener The listener to be removed name The attribute name for which no more events are required
Throws: ListenerNotFoundException if this listener is not registered in the MBean
Parameters: listener The listener to be removed attributeName The attribute name for which no more events are required handback Handback object to be sent along with event notifications
Throws: ListenerNotFoundException if this listener is not registered in the MBean
Parameters: listener The listener to be removed (any and all registrations for this listener will be eliminated)
Throws: ListenerNotFoundException if this listener is not registered in the MBean
Parameters: listener The listener to be removed (any and all registrations for this listener will be eliminated) handback Handback object to be sent along with event notifications
Throws: ListenerNotFoundException if this listener is not registered in the MBean
Parameters: listener The listener to be removed (any and all registrations
for this listener will be eliminated) filter Filter object used to filter event notifications
actually delivered, or null
for no filtering handback Handback object to be sent along with event
notifications
Throws: ListenerNotFoundException if this listener is not registered in the MBean
AttributeChangeNotification
to all registered
listeners.
Parameters: notification The AttributeChangeNotification
that will be passed
Throws: MBeanException if an object initializer throws an
exception RuntimeOperationsException wraps IllegalArgumentException
when the specified notification is null
or invalid
AttributeChangeNotification
to all registered
listeners.
Parameters: oldValue The original value of the Attribute
newValue The new value of the Attribute
Throws: MBeanException if an object initializer throws an
exception RuntimeOperationsException wraps IllegalArgumentException
when the specified notification is null
or invalid
Notification
to all registered listeners as a
jmx.modelmbean.general
notification.
Parameters: notification The Notification
that will be passed
Throws: MBeanException if an object initializer throws an
exception RuntimeOperationsException wraps IllegalArgumentException
when the specified notification is null
or invalid
Notification
which contains the specified string
as a jmx.modelmbean.generic
notification.
Parameters: message The message string to be passed
Throws: MBeanException if an object initializer throws an
exception RuntimeOperationsException wraps IllegalArgumentException
when the specified notification is null
or invalid
Parameters: attribute The identification of the attribute to be set and the new value
Throws: AttributeNotFoundException if this attribute is not supported by this MBean MBeanException if the initializer of an object throws an exception ReflectionException if a Java reflection exception occurs when invoking the getter
Parameters: attributes THe names and values to be set
Returns: The list of attributes that were set and their new values
Parameters: resource The resource object to be managed type The type of reference for the managed resource ("ObjectReference", "Handle", "IOR", "EJBHandle", or "RMIReference")
Throws: InstanceNotFoundException if the managed resource object
cannot be found InvalidTargetObjectTypeException if this ModelMBean is
asked to handle a reference type it cannot deal with MBeanException if the initializer of the object throws
an exception RuntimeOperationsException if the managed resource or the
resource type is null
or invalid
Parameters: type the type of classname of the modeled object
ModelMBeanInfo
associated with this
ModelMBean
. After the information and associated
descriptors have been customized, the ModelMBean
should
be registered with the associated MBeanServer
.
Currently the model can be set after registration. This behavior is
deprecated and won't be supported in future versions.
Parameters: info The ModelMBeanInfo object to be used by this ModelMBean
Throws: MBeanException If an exception occurs recording this
ModelMBeanInfo information RuntimeOperations if the specified parameter is
null
or invalid
IMPLEMENTATION NOTE - This implementation does not support persistence.
Throws: InstanceNotFoundException if the managed resource object cannot be found MBeanException if the initializer of the object throws an exception, or persistence is not supported RuntimeOperationsException if an exception is reported by the persistence mechanism