Интерфейс 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(Attribute oldValue,
Attribute newValue) Отправляет уведомление об изменении атрибута, содержащее старое и новое значения атрибута, зарегистрированным слушателям AttributeChangeNotification на ModelMBean. |
void |
sendAttributeChangeNotification(AttributeChangeNotification notification) Отправляет уведомление об изменении атрибута, переданное зарегистрированным слушателям attributeChangeNotification на ModelMBean. |
void |
sendNotification(Notification ntfyObj) Отправляет уведомление, переданное зарегистрированным слушателям уведомлений на ModelMBean, как уведомление jmx.modelmbean.generic. |
void |
sendNotification(String ntfyText) Отправляет уведомление, содержащее строку текста, переданную зарегистрированным слушателям уведомлений на ModelMBean. |
Методы, унаследованные от интерфейса javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener Методы
sendNotification
void sendNotification(Notification ntfyObj)
throws MBeanException,
RuntimeOperationsException Отправляет уведомление, переданное зарегистрированным слушателям уведомлений на ModelMBean, как уведомление jmx.modelmbean.generic.
- Параметры:
-
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: Строка текста уведомления, переданная в качестве параметра, равна null.
sendAttributeChangeNotification
void sendAttributeChangeNotification(AttributeChangeNotification notification)
throws MBeanException,
RuntimeOperationsException Отправляет уведомление об изменении атрибута, переданное зарегистрированным слушателям attributeChangeNotification на 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: Объект атрибута, переданный в параметре, равен null или имена двух объектов атрибутов в параметре не совпадают.
addAttributeChangeNotificationListener
void addAttributeChangeNotificationListener(NotificationListener listener,
String attributeName,
Object handback)
throws MBeanException,
RuntimeOperationsException,
IllegalArgumentException Регистрирует объект, реализующий интерфейс NotificationListener, в качестве слушателя. Метод 'handleNotification()' этого объекта будет вызываться при отправке любого уведомления attributeChangeNotification через или от 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- Атрибут, для которого слушатель больше не хочет получать уведомления attributeChangeNotifications. Если null, слушатель будет удален для всех уведомлений attributeChangeNotifications. - Исключения:
-
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.