-
- All Superinterfaces:
-
NotificationBroadcaster
- All Known Subinterfaces:
-
ModelMBean
- 所有已知实现类:
-
RequiredModelMBean
public interface ModelMBeanNotificationBroadcaster extends NotificationBroadcaster
该接口必须由ModelMBeans实现。 每个JMX代理必须随附此接口的实现。希望可管理的Java资源使用MBeanServer的createMBean方法实例化ModelMBean。 资源然后设置ModelMBean实例的ModelMBeanInfo(带描述符)。 通过ModelMBeanInfo为ModelMBean公开的属性和操作可以从MBean,连接器/适配器(如其他MBean)访问。 通过ModelMBeanInfo描述符,可以将托管应用程序中的值和方法定义并映射到ModelMBean的属性和操作。 该映射可以在XML格式化文件的开发过程中进行定义,也可以在运行时以动态和编程方式定义。
在MBeanServer中实例化的每个ModelMBean变得可管理:通过连接到该MBeanServer的连接器/适配器,其属性和操作可以远程访问。 除非是符合JMX的MBean,否则不能在MBeanServer中注册Java对象。 通过实例化一个ModelMBean,保证MBean有效的资源。
必须在每个公共方法上抛出MBeanException和RuntimeOperationsException。 这允许从分布式通信(RMI,EJB等)中包装异常。 除了在规范和javadoc中描述的场景之外,这些异常不必由实现抛出。
- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback)
注册一个实现NotificationListener接口的对象作为监听器。void
removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName)
从RequiredModelMBean中删除attributeChangeNotifications的侦听器。void
sendAttributeChangeNotification(AttributeChangeNotification notification)
发送一个attributeChangeNotification,该属性传递给ModelMBean上注册的attributeChangeNotification侦听器。void
sendAttributeChangeNotification(Attribute oldValue, Attribute newValue)
发送一个attributeChangeNotification,其中包含该属性的旧值和新值到ModelMBean上注册的AttributeChangeNotification侦听器。void
sendNotification(String ntfyText)
发送一个通知,其中包含传递给ModelMBean上注册的通知侦听器的文本字符串。void
sendNotification(Notification ntfyObj)
发送通知,该通知将作为jmx.modelmbean.generic通知传递给ModelMBean上的注册通知侦听器。-
Methods inherited from interface javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener
-
-
-
-
方法详细信息
-
sendNotification
void sendNotification(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
发送通知,该通知将作为jmx.modelmbean.generic通知传递给ModelMBean上的注册通知侦听器。- 参数
-
ntfyObj
- 要传递给侦听器对象的“handleNotification”方法的通知。 - 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 包裹一个IllegalArgumentException:在参数中传递的Notification对象为null。
-
sendNotification
void sendNotification(String ntfyText) throws MBeanException, RuntimeOperationsException
发送一个通知,其中包含传递给ModelMBean上注册的通知侦听器的文本字符串。- 参数
-
ntfyText
- 要在通知中传递给侦听器对象的“handleNotification”方法的文本。 构造的通知将是:键入“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
- 属性的当前值The constructed attributeChangeNotification will be: type "jmx.attribute.change" source this ModelMBean instance sequence 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()'方法。 这不包括其他通知。 他们必须独立注册。 将为此attributeName生成AttributeChangeNotification。- 参数
-
listener
- 将处理由注册的MBean发出的通知的侦听器对象。 -
attributeName
- 要接收更改通知的ModelMBean属性的名称。 如果为null,则所有属性更改将导致发出attributeChangeNotification。 -
handback
- 发送通知时发送给侦听器的上下文通知。 - 异常
-
IllegalArgumentException
- 侦听器不能为空。 -
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)
-
-