Module  java.management

Interface ModelMBeanNotificationBroadcaster

  • 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
    • 方法详细信息

      • 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对象的名称不相同。