Spec-Zone.ru › OpenJDK 24

Интерфейс ModelMBeanNotificationBroadcaster

Все суперинтерфейсы:
NotificationBroadcaster
Все известные подинтерфейсы:
ModelMBean
Все известные реализующие классы:
RequiredModelMBean
public interface ModelMBeanNotificationBroadcaster extends NotificationBroadcaster
Данный интерфейс должен быть реализован ModelMBean. Реализация этого интерфейса должна поставляться с каждым JMX агентом.

Java-ресурсы, желающие быть управляемыми, создают экземпляр ModelMBean с помощью метода createMBean сервера MBeanServer. Затем ресурс устанавливает ModelMBeanInfo (с описателями) для экземпляра ModelMBean. Атрибуты и операции, экспонируемые через ModelMBeanInfo для ModelMBean, доступны из MBean, коннекторов/адаптеров, как и другие MBean. Через описатели 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)
Отправляет уведомление об изменении атрибута, содержащее старое и новое значения атрибута, зарегистрированным слушателям уведомлений об изменении атрибутов в ModelMBean.
void sendNotification(String ntfyText)
Отправляет уведомление, содержащее текстовую строку, переданную зарегистрированным слушателям уведомлений в ModelMBean.
void sendNotification(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, 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://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html

Spec-Zone.ru

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