Spec-Zone.ru › OpenJDK 17

Интерфейс ModelMBeanNotificationBroadcaster

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

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)
Отправляет уведомление об изменении атрибута, содержащее старое и новое значения атрибута, зарегистрированным слушателям уведомлений об изменении атрибутов в 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: Объект Attribute, переданный в параметре, равен null или имена двух объектов Attribute в параметре не совпадают.

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, 2021, 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/17/docs/api/java.management/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html

Spec-Zone.ru

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