public class BaseModelMBean
extends java.lang.Object
implements javax.management.DynamicMBean, javax.management.MBeanRegistration, javax.management.modelmbean.ModelMBeanNotificationBroadcaster
Basic implementation of the DynamicMBean
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. Limitations:
objectReference
are
supported.invoke()
are immediately executed.void
.Modifier and Type | Field and Description |
---|---|
protected BaseNotificationBroadcaster |
attributeBroadcaster
Notification broadcaster for attribute changes.
|
protected BaseNotificationBroadcaster |
generalBroadcaster
Notification broadcaster for general notifications.
|
protected ManagedBean |
managedBean
Metadata for the mbean instance.
|
protected javax.management.ObjectName |
oname |
protected java.lang.Object |
resource
The managed resource this MBean is associated with (if any).
|
protected java.lang.String |
resourceType |
Modifier | Constructor and Description |
---|---|
protected |
BaseModelMBean()
Construct a
ModelMBean with default
ModelMBeanInfo information. |
Modifier and Type | Method and Description |
---|---|
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.
|
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.String |
getClassName() |
javax.management.ObjectName |
getJmxName() |
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. |
java.lang.String |
getModelerType() |
javax.management.MBeanNotificationInfo[] |
getNotificationInfo()
Return an
MBeanNotificationInfo object describing the
notifications sent by this MBean. |
java.lang.String |
getObjectName() |
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.
|
void |
postDeregister() |
void |
postRegister(java.lang.Boolean registrationDone) |
void |
preDeregister() |
javax.management.ObjectName |
preRegister(javax.management.MBeanServer server,
javax.management.ObjectName name) |
void |
removeAttributeChangeNotificationListener(javax.management.NotificationListener listener,
java.lang.String name)
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 |
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 |
setManagedBean(ManagedBean managedBean) |
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.
|
java.lang.String |
toString() |
protected javax.management.ObjectName oname
protected BaseNotificationBroadcaster attributeBroadcaster
protected BaseNotificationBroadcaster generalBroadcaster
protected ManagedBean managedBean
protected java.lang.Object resource
protected java.lang.String resourceType
protected 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 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 void setManagedBean(ManagedBean managedBean)
public 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 exceptionjavax.management.ReflectionException
- 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 java.lang.String toString()
toString
in class java.lang.Object
public 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.modelmbean.InvalidTargetObjectTypeException
- if the managed resource
object is of the wrong typejavax.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.MBeanException, javax.management.RuntimeOperationsException
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.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 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 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 java.lang.String getModelerType()
public java.lang.String getClassName()
public javax.management.ObjectName getJmxName()
public java.lang.String getObjectName()
public javax.management.ObjectName preRegister(javax.management.MBeanServer server, javax.management.ObjectName name) throws java.lang.Exception
preRegister
in interface javax.management.MBeanRegistration
java.lang.Exception
public void postRegister(java.lang.Boolean registrationDone)
postRegister
in interface javax.management.MBeanRegistration
public void preDeregister() throws java.lang.Exception
preDeregister
in interface javax.management.MBeanRegistration
java.lang.Exception
public void postDeregister()
postDeregister
in interface javax.management.MBeanRegistration
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.