Spec-Zone.ru › OpenJDK 25

Интерфейс ModelMBeanNotificationBroadcaster

Все суперинтерфейсы:
NotificationBroadcaster
Все известные подинтерфейсы:
ModelMBean
Все известные реализующие классы:
RequiredModelMBean
public interface ModelMBeanNotificationBroadcaster extends NotificationBroadcaster
Этот интерфейс должен реализовываться ModelMBeans. Реализация этого интерфейса должна поставляться с каждым 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

Краткое описание методов

Модификатор и тип Метод Описание
void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback)
Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя.
void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName)
Удаляет из RequiredModelMBean слушателя уведомлений об изменении атрибута.
void sendAttributeChangeNotification(AttributeChangeNotification notification)
Отправляет уведомление об изменении атрибута, переданное зарегистрированным слушателям уведомлений об изменении атрибута в ModelMBean.
void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue)
Отправляет зарегистрированным слушателям AttributeChangeNotification в ModelMBean уведомление об изменении атрибута, содержащее старое и новое значения атрибута.
void sendNotification(String ntfyText)
Отправляет зарегистрированным слушателям Notification в ModelMBean уведомление, содержащее переданную текстовую строку.
void sendNotification(Notification ntfyObj)
Отправляет зарегистрированным слушателям Notification в ModelMBean переданное уведомление типа jmx.modelmbean.generic.

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

addNotificationListener, getNotificationInfo, removeNotificationListener

Подробное описание методов

sendNotification

void sendNotification(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
Отправляет зарегистрированным слушателям Notification в ModelMBean переданное уведомление типа jmx.modelmbean.generic.
Параметры:
ntfyObj — уведомление, которое будет передано методу 'handleNotification' объекта-слушателя.
Выбрасывает:
MBeanException — оборачивает исключение, связанное с распределённым взаимодействием.
RuntimeOperationsException — оборачивает IllegalArgumentException: объект Notification, переданный в параметре, имеет значение null.

sendNotification

void sendNotification(String ntfyText) throws MBeanException, RuntimeOperationsException
Отправляет зарегистрированным слушателям Notification в 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
Отправляет зарегистрированным слушателям AttributeChangeNotification в 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: объект Attribute, переданный в параметре, имеет значение null либо имена двух объектов Attribute в параметре не совпадают.

addAttributeChangeNotificationListener

void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException
Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя. Метод 'handleNotification()' этого объекта будет вызываться при отправке любого уведомления об изменении атрибута через ModelMBean или самим ModelMBean. Это не относится к другим уведомлениям. Для них требуется отдельная регистрация. Для этого attributeName будет создано уведомление AttributeChangeNotification.
Параметры:
listener — объект-слушатель, который будет обрабатывать уведомления, отправленные зарегистрированным MBean.
attributeName — имя атрибута ModelMBean, для которого следует получать уведомления об изменении. Если значение равно null, любое изменение атрибута вызовет отправку уведомления об изменении атрибута.
handback — контекст, который будет передан слушателю вместе с уведомлением при его отправке.
Выбрасывает:
IllegalArgumentException — слушатель не может иметь значение null.
MBeanException — оборачивает исключение, связанное с распределённым взаимодействием.
RuntimeOperationsException — оборачивает IllegalArgumentException: имя атрибута, переданное в параметре, не существует.
См. также:
  • removeAttributeChangeNotificationListener(NotificationListener, 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(NotificationListener, String, Object)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, способы обхода проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.management/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API