Интерфейс ModelMBeanNotificationBroadcaster

Все суперинтерфейсы:
NotificationBroadcaster
Все известные подинтерфейсы:
ModelMBean
Все известные реализующие классы:
RequiredModelMBean
public interface ModelMBeanNotificationBroadcaster
extends NotificationBroadcaster

Данный интерфейс должен быть реализован объектами ModelMBean. Реализация этого интерфейса должна поставляться с каждым JMX агентом.

Java-ресурсы, желающие быть управляемыми, инициализируют ModelMBean, используя метод createMBean сервера MBeanServer. Затем ресурс устанавливает ModelMBeanInfo (с описателями) для экземпляра ModelMBean. Атрибуты и операции, экспонируемые через ModelMBeanInfo для ModelMBean, доступны из MBeans, коннекторов/адаптеров, таких как другие MBeans. С помощью описателей ModelMBeanInfo можно определять значения и методы в управляемом приложении и сопоставлять их с атрибутами и операциями ModelMBean. Это сопоставление можно определить во время разработки в файле формата XML или динамически и программно во время выполнения.

Каждый ModelMBean, который инициализирован в MBeanServer, становится управляемым: его атрибуты и операции становятся удалённо доступными через коннекторы/адаптеры, подключенные к этому MBeanServer. Java-объект не может быть зарегистрирован в MBeanServer, если он не является совместимым с JMX MBean. Инициализация ModelMBean гарантирует, что MBean является валидным.

MBeanException и RuntimeOperationsException должны быть брошены для каждого публичного метода. Это позволяет обернуть исключения из распределённых коммуникаций (RMI, EJB и т.д.). Эти исключения не обязательно должны бросаться реализацией, за исключением случаев, описанных в спецификации и javadoc.

С версии:
1.5

Методы

Модификатор и типМетодОписание
voidaddAttributeChangeNotificationListener​(NotificationListener listener, String attributeName, Object handback)

Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя.

voidremoveAttributeChangeNotificationListener​(NotificationListener listener, String attributeName)

Удаляет слушателя уведомлений об изменении атрибута из RequiredModelMBean.

voidsendAttributeChangeNotification​(AttributeChangeNotification notification)

Отправляет уведомление об изменении атрибута, переданное зарегистрированным слушателям уведомлений об изменении атрибута на ModelMBean.

voidsendAttributeChangeNotification​(Attribute oldValue, Attribute newValue)

Отправляет уведомление об изменении атрибута, содержащее старое и новое значения атрибута, зарегистрированным слушателям уведомлений об изменении атрибута на ModelMBean.

voidsendNotification​(String ntfyText)

Отправляет уведомление, содержащее переданную текстовую строку, зарегистрированным слушателям уведомлений на ModelMBean.

voidsendNotification​(Notification ntfyObj)

Отправляет уведомление, переданное зарегистрированным слушателям уведомлений на ModelMBean как уведомление jmx.modelmbean.generic.

Методы, объявленные в интерфейсе javax.management.NotificationBroadcaster

addNotificationListener, getNotificationInfo, removeNotificationListener

Методы

sendNotification

void sendNotification(Notification ntfyObj)
               throws MBeanException,
                      RuntimeOperationsException

Отправляет уведомление, переданное зарегистрированным слушателям уведомлений на ModelMBean как уведомление jmx.modelmbean.generic.

Параметры:
ntfyObj - Уведомление, которое должно быть передано методу 'handleNotification' объекта-слушателя.
Исключения:
MBeanException - Обертывает исключение распределённой коммуникации.
RuntimeOperationsException - Обертывает IllegalArgumentException: Объект уведомления, переданный в качестве параметра, равен null.

sendNotification

void sendNotification(String ntfyText)
               throws MBeanException,
                      RuntimeOperationsException

Отправляет уведомление, содержащее текстовую строку, переданную зарегистрированным слушателям уведомлений на ModelMBean.

Параметры:
ntfyText - Текст, который должен быть передан в уведомлении методу 'handleNotification' объекта-слушателя. Созданное уведомление будет иметь тип "jmx.modelmbean.generic", источник — этот экземпляр ModelMBean, последовательность 1.
Исключения:
MBeanException - Обертывает исключение распределённой коммуникации.
RuntimeOperationsException - Обертывает IllegalArgumentException: Переданная текстовая строка уведомления равна null.

sendAttributeChangeNotification

void sendAttributeChangeNotification(AttributeChangeNotification notification)
                              throws MBeanException,
                                     RuntimeOperationsException

Отправляет уведомление об изменении атрибута, переданное зарегистрированным слушателям уведомлений об изменении атрибута на ModelMBean.

Параметры:
notification - Уведомление, которое должно быть передано методу 'handleNotification' объекта-слушателя.
Исключения:
MBeanException - Обертывает исключение распределённой коммуникации.
RuntimeOperationsException - Обертывает IllegalArgumentException: Объект AttributeChangeNotification, переданный в качестве параметра, равен null.

sendAttributeChangeNotification

void sendAttributeChangeNotification(Attribute oldValue,
                                     Attribute newValue)
                              throws MBeanException,
                                     RuntimeOperationsException

Отправляет уведомление об изменении атрибута, содержащее старое и новое значения атрибута, зарегистрированным слушателям уведомлений об изменении атрибута на ModelMBean.

Параметры:
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: Объект атрибута, переданный в качестве параметра, равен null или имена двух объектов атрибута в параметре не совпадают.

addAttributeChangeNotificationListener

void addAttributeChangeNotificationListener(NotificationListener listener,
                                            String attributeName,
                                            Object handback)
                                     throws MBeanException,
                                            RuntimeOperationsException,
                                            IllegalArgumentException

Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя. Метод 'handleNotification()' этого объекта будет вызываться при отправке любого уведомления об изменении атрибута через или от ModelMBean. Это не включает другие уведомления. Они должны быть зарегистрированы независимо. Для этого имени атрибута будет генерироваться уведомление 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.

Параметры:
listener - Имя слушателя, который обрабатывал уведомления, исходящие от зарегистрированного MBean. Этот метод удалит всю информацию, связанную с этим слушателем.
attributeName - Атрибут, для которого слушатель больше не хочет получать уведомления об изменении атрибутов. Если null, слушатель будет удалён для всех уведомлений об изменении атрибутов.
Исключения:
ListenerNotFoundException - Слушатель не зарегистрирован в MBean или равен null.
MBeanException - Обертывает исключение распределённой коммуникации.
RuntimeOperationsException - Обертывает IllegalArgumentException: Если параметр inAttributeName не соответствует имени атрибута.
См. также:
addAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String, java.lang.Object)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html

Spec-Zone .ru
спецификации, руководства, описания, API