Интерфейс ModelMBeanNotificationBroadcaster
- Все суперинтерфейсы:
NotificationBroadcaster
- Все известные подинтерфейсы:
ModelMBean
- Все известные реализующие классы:
RequiredModelMBean
public interface ModelMBeanNotificationBroadcaster extends NotificationBroadcaster
Ресурсы 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, в качестве слушателя. |
void |
removeAttributeChangeNotificationListener |
Удаляет слушателя уведомлений об изменении атрибутов из RequiredModelMBean. |
void |
sendAttributeChangeNotification |
Отправляет переданное уведомление об изменении атрибута зарегистрированным слушателям таких уведомлений в ModelMBean. |
void |
sendAttributeChangeNotification |
Отправляет зарегистрированным слушателям AttributeChangeNotification в ModelMBean уведомление об изменении атрибута, содержащее старое и новое значения атрибута. |
void |
sendNotification |
Отправляет зарегистрированным слушателям Notification в ModelMBean уведомление, содержащее переданную текстовую строку. |
void |
sendNotification |
Отправляет переданное уведомление зарегистрированным слушателям Notification в ModelMBean как общее уведомление jmx.modelmbean.generic. |
Методы, объявленные в интерфейсе NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addNotificationListener |
Добавляет слушателя к этому MBean. |
MBeanNotificationInfo[] |
getNotificationInfo() |
Возвращает массив, в котором для каждого уведомления, которое может отправлять этот MBean, указаны имя класса Java уведомления и тип уведомления. |
void |
removeNotificationListener |
Удаляет слушателя из этого MBean. |
Подробное описание методов
sendNotification
void sendNotification(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
- Параметры:
-
ntfyObj— уведомление, передаваемое методу 'handleNotification' объекта-слушателя. - Выбрасывает:
-
MBeanException— оборачивает исключение, возникшее при распределённом взаимодействии. -
RuntimeOperationsException— оборачивает IllegalArgumentException: объект Notification, переданный в параметре, равен null.
sendNotification
void sendNotification(String ntfyText) throws MBeanException, RuntimeOperationsException
- Параметры:
-
ntfyText— текст, передаваемый в Notification методу 'handleNotification' объекта-слушателя. Созданное уведомление будет иметь тип "jmx.modelmbean.generic", источником будет этот экземпляр ModelMBean, а порядковый номер будет равен 1. - Выбрасывает:
-
MBeanException— оборачивает исключение, возникшее при распределённом взаимодействии. -
RuntimeOperationsException— оборачивает IllegalArgumentException: текстовая строка Notification, переданная в параметре, равна null.
sendAttributeChangeNotification
void sendAttributeChangeNotification(AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException
- Параметры:
-
notification— уведомление, передаваемое методу 'handleNotification' объекта-слушателя. - Выбрасывает:
-
MBeanException— оборачивает исключение, возникшее при распределённом взаимодействии. -
RuntimeOperationsException— оборачивает IllegalArgumentException: объект AttributeChangeNotification, переданный в параметре, равен null.
sendAttributeChangeNotification
void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue) throws MBeanException, RuntimeOperationsException
- Параметры:
-
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
- Параметры:
-
listener— объект-слушатель, который будет обрабатывать уведомления, отправляемые зарегистрированным MBean. -
attributeName— имя атрибута ModelMBean, изменения которого требуется отслеживать. Если значение равно null, любое изменение атрибута приведёт к отправке уведомления attributeChangeNotification. -
handback— контекст, который будет передан слушателю вместе с уведомлением при его отправке. - Выбрасывает:
-
IllegalArgumentException— слушатель не может быть равен null. -
MBeanException— оборачивает исключение, возникшее при распределённом взаимодействии. -
RuntimeOperationsException— оборачивает IllegalArgumentException: имя атрибута, переданное в параметре, не существует. - См. также:
removeAttributeChangeNotificationListener
void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException
- Параметры:
-
listener— имя слушателя, обрабатывавшего уведомления, отправляемые зарегистрированным MBean. Этот метод удалит все сведения, связанные с данным слушателем. -
attributeName— атрибут, изменения которого слушатель больше не хочет отслеживать. Если значение равно null, слушатель будет удалён для всех уведомлений attributeChangeNotification. - Выбрасывает:
-
ListenerNotFoundException— слушатель не зарегистрирован в MBean или равен null. -
MBeanException— оборачивает исключение, возникшее при распределённом взаимодействии. -
RuntimeOperationsException— оборачивает IllegalArgumentException: параметр inAttributeName не соответствует имени атрибута. - См. также:
© 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.