|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.management.modelmbean
接口 ModelMBeanNotificationBroadcaster
- 所有超级接口:
- NotificationBroadcaster
- 所有已知子接口:
- ModelMBean
- 所有已知实现类:
- RequiredModelMBean
-
public interface ModelMBeanNotificationBroadcaster
- extends NotificationBroadcaster
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 中描述的情况外,这些异常不必由实现抛出。
- 从以下版本开始:
- 1.5
方法摘要 | |
---|---|
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 |
方法详细信息 |
---|
sendNotification
void sendNotification(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
- 以 jmx.modelmbean.generic 通知形式将传入的 Notification 发送到 ModelMBean 上已注册的 Notification 侦听器。
-
-
- 参数:
-
ntfyObj
- 要传递给侦听器对象的 'handleNotification' 方法的通知。 - 抛出:
-
MBeanException
- 包装一个分布式通信异常。 -
RuntimeOperationsException
- 包装一个 IllegalArgumentException:传入参数中的 Notification 对象为 null。
sendNotification
void sendNotification(String ntfyText) throws MBeanException, RuntimeOperationsException
- 将包含传入文本字符串的 Notification 发送到 ModelMBean 上已注册的 Notification 侦听器。
-
-
- 参数:
-
ntfyText
- Notification 中要传递到侦听器对象的 'handleNotification' 方法的文本。 所构造的 Notification 将为: 类型 "jmx.modelmbean.generic" 源 此 ModelMBean 实例 序列 1 - 抛出:
-
MBeanException
- 包装一个分布式通信异常。 -
RuntimeOperationsException
- 包装一个 IllegalArgumentException:传入参数中的 Notification 文本字符串为 null。
sendAttributeChangeNotification
void sendAttributeChangeNotification(AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException
- 将传入的 attributeChangeNotification 发送到 ModelMBean 上已注册的 attributeChangeNotification 侦听器。
-
-
- 参数:
-
notification
- 要传递给侦听器对象的 'handleNotification' 方法的通知。 - 抛出:
-
MBeanException
- 包装一个分布式通信异常。 -
RuntimeOperationsException
- 包装一个 IllegalArgumentException:传入参数中的 AttributeChangeNotification 对象为 null。
sendAttributeChangeNotification
void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue) throws MBeanException, RuntimeOperationsException
- 将包含属性的原有值和新值的 attributeChangeNotification 发送到 ModelMBean 上已注册的 AttributeChangeNotification 侦听器。
-
-
- 参数:
-
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 对象的名称不同。
addAttributeChangeNotificationListener
void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException
- 注册一个将 NotificationListener 接口实现为侦听器的对象。当通过或由 ModelMBean 发布任何 attributeChangeNotification 时,将调用此对象的 'handleNotification()' 方法。这不包括其他 Notification。它们必须独立注册。将为此 attributeName 生成一个 AttributeChangeNotification。
-
-
- 参数:
-
listener
- 将处理由已注册的 MBean 发出的通知的侦听器对象。 -
attributeName
- 要为其接收更改通知的 ModelMBean 属性名称。如果参数为 null,则所有更改将导致发布 attributeChangeNotification。 -
handback
- 当发出通知时,要发送到带有通知的侦听器的上下文。 - 抛出:
-
IllegalArgumentException
- 侦听器不能为 null。 -
MBeanException
- 包装一个分布式通信异常。 -
RuntimeOperationsException
- 包装一个 IllegalArgumentException。传入参数中的属性名称不存在。 - 另请参见:
-
removeAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String)
removeAttributeChangeNotificationListener
void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException
- 从 RequiredModelMBean 移除一个 attributeChangeNotifications 的侦听器。
-
-
- 参数:
-
listener
- 正在处理由注册的 MBean 发出的通知的侦听器名称。此方法将移除与此侦听器相关的所有信息。 -
attributeName
- 侦听器不再为其接收 attributeChangeNotifications 的属性。如果为 null,则将移除所有 attributeChangeNotifications 的侦听器。 - 抛出:
-
ListenerNotFoundException
- 侦听器未在 MBean 中注册,或为 null。 -
MBeanException
- 包装一个分布式通信异常。 -
RuntimeOperationsException
- 包装一个 IllegalArgumentException 如果 inAttributeName 参数没有对应一个属性名称。 - 另请参见:
-
addAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String, java.lang.Object)
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |