|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.commons.modeler.BaseModelMBean
Basic implementation of the ModelMBean
interface, which
supports the minimal requirements of the interface contract as follows:
objectReference
are
supportd.invoke()
are immediately executed.void
.
Field Summary | |
protected BaseNotificationBroadcaster |
attributeBroadcaster
Notification broadcaster for attribute changes. |
protected BaseNotificationBroadcaster |
generalBroadcaster
Notification broadcaster for general notifications. |
protected javax.management.modelmbean.ModelMBeanInfo |
info
The ModelMBeanInfo object that controls our activity. |
protected java.lang.Object |
resource
The managed resource this MBean is associated with (if any). |
Constructor Summary | |
BaseModelMBean()
Construct a ModelMBean with default
ModelMBeanInfo information. |
|
BaseModelMBean(javax.management.modelmbean.ModelMBeanInfo info)
Construct a ModelMBean associated with the specified
ModelMBeanInfo information. |
Method Summary | |
void |
addAttributeChangeNotificationListener(javax.management.NotificationListener listener,
java.lang.String name,
java.lang.Object handback)
Add an attribute change notification event listener to this MBean. |
void |
addNotificationListener(javax.management.NotificationListener listener,
javax.management.NotificationFilter filter,
java.lang.Object handback)
Add a notification event listener to this MBean. |
protected javax.management.modelmbean.ModelMBeanInfo |
createDefaultModelMBeanInfo()
Create and return a default ModelMBeanInfo object. |
java.lang.Object |
getAttribute(java.lang.String name)
Obtain and return the value of a specific attribute of this MBean. |
javax.management.AttributeList |
getAttributes(java.lang.String[] names)
Obtain and return the values of several attributes of this MBean. |
java.lang.Object |
getManagedResource()
Get the instance handle of the object against which we execute all methods in this ModelMBean management interface. |
javax.management.MBeanInfo |
getMBeanInfo()
Return the MBeanInfo object for this MBean. |
javax.management.MBeanNotificationInfo[] |
getNotificationInfo()
Return an MBeanNotificationInfo object describing the
notifications sent by this MBean. |
java.lang.Object |
invoke(java.lang.String name,
java.lang.Object[] params,
java.lang.String[] signature)
Invoke a particular method on this MBean, and return any returned value. |
protected boolean |
isModelMBeanInfoValid(javax.management.modelmbean.ModelMBeanInfo info)
Is the specified ModelMBeanInfo instance valid?
|
void |
load()
Instantiates this MBean instance from data found in the persistent store. |
void |
removeAttributeChangeNotificationListener(javax.management.NotificationListener listener,
java.lang.String name)
Remove an attribute change notification event listener from this MBean. |
void |
removeAttributeChangeNotificationListener(javax.management.NotificationListener listener,
java.lang.String attributeName,
java.lang.Object handback)
Remove an attribute change notification event listener from this MBean. |
void |
removeNotificationListener(javax.management.NotificationListener listener)
Remove a notification event listener from this MBean. |
void |
removeNotificationListener(javax.management.NotificationListener listener,
javax.management.NotificationFilter filter,
java.lang.Object handback)
Remove a notification event listener from this MBean. |
void |
removeNotificationListener(javax.management.NotificationListener listener,
java.lang.Object handback)
Remove a notification event listener from this MBean. |
void |
sendAttributeChangeNotification(javax.management.Attribute oldValue,
javax.management.Attribute newValue)
Send an AttributeChangeNotification to all registered
listeners. |
void |
sendAttributeChangeNotification(javax.management.AttributeChangeNotification notification)
Send an AttributeChangeNotification to all registered
listeners. |
void |
sendNotification(javax.management.Notification notification)
Send a Notification to all registered listeners as a
jmx.modelmbean.general notification. |
void |
sendNotification(java.lang.String message)
Send a Notification which contains the specified string
as a jmx.modelmbean.generic notification. |
void |
setAttribute(javax.management.Attribute attribute)
Set the value of a specific attribute of this MBean. |
javax.management.AttributeList |
setAttributes(javax.management.AttributeList attributes)
Set the values of several attributes of this MBean. |
void |
setManagedResource(java.lang.Object resource,
java.lang.String type)
Set the instance handle of the object against which we will execute all methods in this ModelMBean management interface. |
void |
setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo info)
Initialize the ModelMBeanInfo associated with this
ModelMBean . |
void |
store()
Capture the current state of this MBean instance and write it out to the persistent store. |
Methods inherited from class java.lang.Object |
|
Field Detail |
protected BaseNotificationBroadcaster attributeBroadcaster
protected BaseNotificationBroadcaster generalBroadcaster
protected javax.management.modelmbean.ModelMBeanInfo info
ModelMBeanInfo
object that controls our activity.protected java.lang.Object resource
Constructor Detail |
public BaseModelMBean() throws javax.management.MBeanException, javax.management.RuntimeOperationsException
ModelMBean
with default
ModelMBeanInfo
information.javax.management.MBeanException
- if the initializer of an object
throws an exceptionjavax.management.RuntimeOperationsException
- if an IllegalArgumentException
occurspublic BaseModelMBean(javax.management.modelmbean.ModelMBeanInfo info) throws javax.management.MBeanException, javax.management.RuntimeOperationsException
ModelMBean
associated with the specified
ModelMBeanInfo
information.info
- ModelMBeanInfo for this MBeanjavax.management.MBeanException
- if the initializer of an object
throws an exceptionjavax.management.RuntimeOperationsException
- if an IllegalArgumentException
occursMethod Detail |
public java.lang.Object getAttribute(java.lang.String name) throws javax.management.AttributeNotFoundException, javax.management.MBeanException, javax.management.ReflectionException
getAttribute
in interface javax.management.DynamicMBean
name
- Name of the requested attributejavax.management.AttributeNotFoundException
- if this attribute is not
supported by this MBeanjavax.management.MBeanException
- if the initializer of an object
throws an exceptionjavax.management.ReflectionException
- if a Java reflection exception
occurs when invoking the getterpublic javax.management.AttributeList getAttributes(java.lang.String[] names)
getAttributes
in interface javax.management.DynamicMBean
names
- Names of the requested attributespublic javax.management.MBeanInfo getMBeanInfo()
MBeanInfo
object for this MBean.getMBeanInfo
in interface javax.management.DynamicMBean
public java.lang.Object invoke(java.lang.String name, java.lang.Object[] params, java.lang.String[] signature) throws javax.management.MBeanException, javax.management.ReflectionException
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.
invoke
in interface javax.management.DynamicMBean
name
- Name of the operation to be invokedparams
- Array containing the method parameters of this operationsignature
- Array containing the class names representing
the signature of this operationjavax.management.MBeanException
- if the initializer of an object
throws an exceptionReflectioNException
- if a Java reflection exception
occurs when invoking a methodpublic void setAttribute(javax.management.Attribute attribute) throws javax.management.AttributeNotFoundException, javax.management.MBeanException, javax.management.ReflectionException
setAttribute
in interface javax.management.DynamicMBean
attribute
- The identification of the attribute to be set
and the new valuejavax.management.AttributeNotFoundException
- if this attribute is not
supported by this MBeanjavax.management.MBeanException
- if the initializer of an object
throws an exceptionjavax.management.ReflectionException
- if a Java reflection exception
occurs when invoking the getterpublic javax.management.AttributeList setAttributes(javax.management.AttributeList attributes)
setAttributes
in interface javax.management.DynamicMBean
attributes
- THe names and values to be setpublic java.lang.Object getManagedResource() throws javax.management.InstanceNotFoundException, javax.management.modelmbean.InvalidTargetObjectTypeException, javax.management.MBeanException, javax.management.RuntimeOperationsException
javax.management.InstanceNotFoundException
- if the managed resource object
cannot be foundjavax.management.MBeanException
- if the initializer of the object throws
an exceptionjavax.management.RuntimeOperationsException
- if the managed resource or the
resource type is null
or invalidpublic void setManagedResource(java.lang.Object resource, java.lang.String type) throws javax.management.InstanceNotFoundException, javax.management.modelmbean.InvalidTargetObjectTypeException, javax.management.MBeanException, javax.management.RuntimeOperationsException
setManagedResource
in interface javax.management.modelmbean.ModelMBean
resource
- The resource object to be managedtype
- The type of reference for the managed resource
("ObjectReference", "Handle", "IOR", "EJBHandle", or
"RMIReference")javax.management.InstanceNotFoundException
- if the managed resource object
cannot be foundjavax.management.modelmbean.InvalidTargetObjectTypeException
- if this ModelMBean is
asked to handle a reference type it cannot deal withjavax.management.MBeanException
- if the initializer of the object throws
an exceptionjavax.management.RuntimeOperationsException
- if the managed resource or the
resource type is null
or invalidpublic void setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo info) throws javax.management.MBeanException, javax.management.RuntimeOperationsException
ModelMBeanInfo
associated with this
ModelMBean
. After the information and associated
descriptors have been customized, the ModelMBean
should
be registered with the associated MBeanServer
.setModelMBeanInfo
in interface javax.management.modelmbean.ModelMBean
info
- The ModelMBeanInfo object to be used by this ModelMBeanjavax.management.MBeanException
- If an exception occurs recording this
ModelMBeanInfo informationRuntimeOperations
- if the specified parameter is
null
or invalidpublic void addAttributeChangeNotificationListener(javax.management.NotificationListener listener, java.lang.String name, java.lang.Object handback) throws java.lang.IllegalArgumentException
addAttributeChangeNotificationListener
in interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
listener
- Listener that will receive event notificationsname
- Name of the attribute of interest, or null
to indicate interest in all attributeshandback
- Handback object to be sent along with event
notificationsjava.lang.IllegalArgumentException
- if the listener parameter is nullpublic void removeAttributeChangeNotificationListener(javax.management.NotificationListener listener, java.lang.String name) throws javax.management.ListenerNotFoundException
removeAttributeChangeNotificationListener
in interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
listener
- The listener to be removedname
- The attribute name for which no more events are requiredjavax.management.ListenerNotFoundException
- if this listener is not
registered in the MBeanpublic void removeAttributeChangeNotificationListener(javax.management.NotificationListener listener, java.lang.String attributeName, java.lang.Object handback) throws javax.management.ListenerNotFoundException
removeAttributeChangeNotificationListener
in interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
listener
- The listener to be removedname
- The attribute name for which no more events are requiredhandback
- Handback object to be sent along with event
notificationsjavax.management.ListenerNotFoundException
- if this listener is not
registered in the MBeanpublic void sendAttributeChangeNotification(javax.management.AttributeChangeNotification notification) throws javax.management.MBeanException, javax.management.RuntimeOperationsException
AttributeChangeNotification
to all registered
listeners.sendAttributeChangeNotification
in interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
notification
- The AttributeChangeNotification
that will be passedjavax.management.MBeanException
- if an object initializer throws an
exceptionjavax.management.RuntimeOperationsException
- wraps IllegalArgumentException
when the specified notification is null
or invalidpublic void sendAttributeChangeNotification(javax.management.Attribute oldValue, javax.management.Attribute newValue) throws javax.management.MBeanException, javax.management.RuntimeOperationsException
AttributeChangeNotification
to all registered
listeners.sendAttributeChangeNotification
in interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
oldValue
- The original value of the Attribute
newValue
- The new value of the Attribute
javax.management.MBeanException
- if an object initializer throws an
exceptionjavax.management.RuntimeOperationsException
- wraps IllegalArgumentException
when the specified notification is null
or invalidpublic void sendNotification(javax.management.Notification notification) throws javax.management.MBeanException, javax.management.RuntimeOperationsException
Notification
to all registered listeners as a
jmx.modelmbean.general
notification.sendNotification
in interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
notification
- The Notification
that will be passedjavax.management.MBeanException
- if an object initializer throws an
exceptionjavax.management.RuntimeOperationsException
- wraps IllegalArgumentException
when the specified notification is null
or invalidpublic void sendNotification(java.lang.String message) throws javax.management.MBeanException, javax.management.RuntimeOperationsException
Notification
which contains the specified string
as a jmx.modelmbean.generic
notification.sendNotification
in interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
message
- The message string to be passedjavax.management.MBeanException
- if an object initializer throws an
exceptionjavax.management.RuntimeOperationsException
- wraps IllegalArgumentException
when the specified notification is null
or invalidpublic void addNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback) throws java.lang.IllegalArgumentException
addNotificationListener
in interface javax.management.NotificationBroadcaster
listener
- Listener that will receive event notificationsfilter
- Filter object used to filter event notifications
actually delivered, or null
for no filteringhandback
- Handback object to be sent along with event
notificationsjava.lang.IllegalArgumentException
- if the listener parameter is nullpublic javax.management.MBeanNotificationInfo[] getNotificationInfo()
MBeanNotificationInfo
object describing the
notifications sent by this MBean.getNotificationInfo
in interface javax.management.NotificationBroadcaster
public void removeNotificationListener(javax.management.NotificationListener listener) throws javax.management.ListenerNotFoundException
removeNotificationListener
in interface javax.management.NotificationBroadcaster
listener
- The listener to be removed (any and all registrations
for this listener will be eliminated)javax.management.ListenerNotFoundException
- if this listener is not
registered in the MBeanpublic void removeNotificationListener(javax.management.NotificationListener listener, java.lang.Object handback) throws javax.management.ListenerNotFoundException
removeNotificationListener
in interface javax.management.NotificationBroadcaster
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
notificationsjavax.management.ListenerNotFoundException
- if this listener is not
registered in the MBeanpublic void removeNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback) throws javax.management.ListenerNotFoundException
removeNotificationListener
in interface javax.management.NotificationBroadcaster
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 filteringhandback
- Handback object to be sent along with event
notificationsjavax.management.ListenerNotFoundException
- if this listener is not
registered in the MBeanpublic void load() throws javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.RuntimeOperationsException
MBeanServer
.
IMPLEMENTATION NOTE - This implementation does not support persistence.
load
in interface javax.management.PersistentMBean
javax.management.InstanceNotFoundException
- if the managed resource object
cannot be foundjavax.management.MBeanException
- if the initializer of the object throws
an exceptionjavax.management.RuntimeOperationsException
- if an exception is reported
by the persistence mechanismpublic void store() throws javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.RuntimeOperationsException
IMPLEMENTATION NOTE - This implementation does not support persistence.
store
in interface javax.management.PersistentMBean
javax.management.InstanceNotFoundException
- if the managed resource object
cannot be foundjavax.management.MBeanException
- if the initializer of the object throws
an exception, or persistence is not supportedjavax.management.RuntimeOperationsException
- if an exception is reported
by the persistence mechanismprotected javax.management.modelmbean.ModelMBeanInfo createDefaultModelMBeanInfo()
ModelMBeanInfo
object.protected boolean isModelMBeanInfoValid(javax.management.modelmbean.ModelMBeanInfo info)
ModelMBeanInfo
instance valid?
IMPLEMENTATION NOTE - This implementation does not check anything, but this method can be overridden as required.
info
- The ModelMBeanInfo object to check
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |