Spec-Zone.ru › OpenJDK 25

Интерфейс NotificationEmitter

Все суперинтерфейсы:
NotificationBroadcaster
Все известные классы-реализации:
CounterMonitor, GaugeMonitor, JMXConnectorServer, MBeanServerDelegate, Monitor, NotificationBroadcasterSupport, RelationService, RequiredModelMBean, RMIConnectorServer, StandardEmitterMBean, StringMonitor, Timer
public interface NotificationEmitter extends NotificationBroadcaster

Интерфейс, реализуемый MBean, который отправляет уведомления. Он позволяет зарегистрировать в MBean прослушиватель уведомлений.

Рассылка уведомлений

Когда MBean отправляет уведомление, он учитывает каждый прослушиватель, добавленный с помощью addNotificationListener и впоследствии не удалённый с помощью removeNotificationListener. Если для этого прослушивателя был указан фильтр и метод isNotificationEnabled фильтра возвращает false, прослушиватель игнорируется. В противном случае вызывается метод handleNotification прослушивателя с уведомлением и объектом обратной связи, переданным в addNotificationListener.

Если один и тот же прослушиватель добавлен несколько раз, он учитывается столько раз, сколько был добавлен. Часто полезно добавлять один и тот же прослушиватель с разными фильтрами или объектами обратной связи.

Реализации этого интерфейса могут различаться тем, в каком потоке вызываются методы фильтров и прослушивателей.

Если при вызове метода фильтра или прослушивателя выбрасывается Exception, это исключение не должно препятствовать вызову других прослушивателей. Однако если при вызове метода выбрасывается Error, рекомендуется на этом этапе прекратить обработку уведомления; если есть возможность передать Error отправителю уведомления, это следует сделать.

В новом коде вместо интерфейса NotificationBroadcaster следует использовать этот интерфейс.

При реализации этого интерфейса и NotificationBroadcaster следует внимательно относиться к синхронизации. В частности, реализации не следует удерживать какие-либо блокировки во время вызова прослушивателя. Чтобы учесть возможность изменения списка прослушивателей во время рассылки уведомления, рекомендуется использовать для этого списка CopyOnWriteArrayList.

Начиная с:
1.5

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

Модификатор и тип Метод Описание
void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Удаляет прослушиватель из этого MBean.

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

addNotificationListener, getNotificationInfo, removeNotificationListener

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

removeNotificationListener

void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException

Удаляет прослушиватель из этого MBean. В MBean должен быть зарегистрирован прослушиватель, точно соответствующий параметрам listener, filter и handback. Если таких прослушивателей несколько, удаляется только один.

Параметры filter и handback могут иметь значение null только в том случае, если значение null указано и для удаляемого прослушивателя.

Параметры:
listener — прослушиватель, ранее добавленный в этот MBean.
filter — фильтр, указанный при добавлении прослушивателя.
handback — объект обратной связи, указанный при добавлении прослушивателя.
Выбрасывает:
ListenerNotFoundException — прослушиватель не зарегистрирован в MBean либо зарегистрирован не с указанными фильтром и объектом обратной связи.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/NotificationEmitter.html

Spec-Zone.ru

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