|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface ModelMBeanNotificationBroadcaster
ModelMBean 必须实现此接口。此接口的实现必须与每个 JMX Agent 一起发布。
Java 资源使用 MBeanServer 的 createMBean 方法来实例化 ModelMBean,以便具有可管理性。然后该资源设置 ModelMBean 实例的 ModelMBeanInfo(带有 Descriptor)。通过 ModelMBean 的 ModelMBeanInfo 公开的属性和操作像其他 MBean 一样,可以从 MBean、连接器/适配器进行访问。通过 ModelMBeanInfo Descriptor,可以定义托管应用程序中的值和方法,并可以将它们映射到 ModelMBean 的属性和操作。此映射可以在 XML 格式的文件的开发过程中定义,也可以以编程方式在运行时动态定义。
MBeanServer 中实例化的每个 ModelMBean 都是可管理的:通过连接到该 MBeanServer 的连接器/适配器可以远程访问其属性和操作。Java 对象不能在 MBeanServer 中进行注册,除非它是 JMX 兼容的 MBean。通过实例化 ModelMBean,资源可保证 MBean 是有效的。
每个公共方法必须抛出 MBeanException 和 RuntimeOperationsException。这允许包装来自分布式通信(RMI 和 EJB 等)的异常。除规范和 javadoc 中描述的情况外,这些异常不必由实现抛出。
方法摘要 | |
---|---|
void |
addAttributeChangeNotificationListener(NotificationListener listener,
String attributeName,
Object handback)
注册一个将 NotificationListener 接口实现为侦听器的对象。 |
void |
removeAttributeChangeNotificationListener(NotificationListener listener,
String attributeName)
从 RequiredModelMBean 移除一个 attributeChangeNotifications 的侦听器。 |
void |
sendAttributeChangeNotification(Attribute oldValue,
Attribute newValue)
将包含属性的原有值和新值的 attributeChangeNotification 发送到 ModelMBean 上已注册的 AttributeChangeNotification 侦听器。 |
void |
sendAttributeChangeNotification(AttributeChangeNotification notification)
将传入的 attributeChangeNotification 发送到 ModelMBean 上已注册的 attributeChangeNotification 侦听器。 |
void |
sendNotification(Notification ntfyObj)
以 jmx.modelmbean.generic 通知形式将传入的 Notification 发送到 ModelMBean 上已注册的 Notification 侦听器。 |
void |
sendNotification(String ntfyText)
将包含传入文本字符串的 Notification 发送到 ModelMBean 上已注册的 Notification 侦听器。 |
从接口 javax.management.NotificationBroadcaster 继承的方法 |
---|
addNotificationListener, getNotificationInfo, removeNotificationListener |
方法详细信息 |
---|
void sendNotification(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
ntfyObj
- 要传递给侦听器对象的 'handleNotification' 方法的通知。
MBeanException
- 包装一个分布式通信异常。
RuntimeOperationsException
- 包装一个 IllegalArgumentException:传入参数中的 Notification 对象为 null。void sendNotification(String ntfyText) throws MBeanException, RuntimeOperationsException
ntfyText
- Notification 中要传递到侦听器对象的 'handleNotification' 方法的文本。
所构造的 Notification 将为:
类型 "jmx.modelmbean.generic"
源 此 ModelMBean 实例
序列 1
MBeanException
- 包装一个分布式通信异常。
RuntimeOperationsException
- 包装一个 IllegalArgumentException:传入参数中的 Notification 文本字符串为 null。void sendAttributeChangeNotification(AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException
notification
- 要传递给侦听器对象的 'handleNotification' 方法的通知。
MBeanException
- 包装一个分布式通信异常。
RuntimeOperationsException
- 包装一个 IllegalArgumentException:传入参数中的 AttributeChangeNotification 对象为 null。void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue) throws MBeanException, RuntimeOperationsException
oldValue
- 属性的原始值newValue
- 属性的当前值
所构造的 attributeChangeNotification 将为: 类型 "jmx.attribute.change" 源 此 ModelMBean 实例 序列 1 attributeName oldValue.getName() attributeType oldValue's class attributeOldValue oldValue.getValue() attributeNewValue newValue.getValue()
MBeanException
- 包装一个分布式通信异常。
RuntimeOperationsException
- 包装一个 IllegalArgumentException:传入参数中的 Attribute 对象为 null,或参数中两个 Attribute 对象的名称不同。void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException
listener
- 将处理由已注册的 MBean 发出的通知的侦听器对象。attributeName
- 要为其接收更改通知的 ModelMBean 属性名称。如果参数为 null,则所有更改将导致发布 attributeChangeNotification。handback
- 当发出通知时,要发送到带有通知的侦听器的上下文。
IllegalArgumentException
- 侦听器不可以为 null。
MBeanException
- 包装一个分布式通信异常。
RuntimeOperationsException
- 包装一个 IllegalArgumentException。传入参数中的属性名称不存在。removeAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String)
void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException
listener
- 正在处理由注册的 MBean 发出的通知的侦听器名称。此方法将移除与此侦听器相关的所有信息。attributeName
- 侦听器不再为其接收 attributeChangeNotifications 的属性。如果为 null,则将移除所有 attributeChangeNotifications 的侦听器。
ListenerNotFoundException
- 侦听器未在 MBean 中注册,或为 null。
MBeanException
- 包装一个分布式通信异常。
RuntimeOperationsException
- 包装一个 IllegalArgumentException 如果 inAttributeName 参数没有对应一个属性名称。addAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String, java.lang.Object)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。