|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface NotificationEmitter extends NotificationBroadcaster
Интерфейс, реализованный MBean, который испускает Уведомления. Это позволяет слушателю быть зарегистрированным в MBean как слушатель уведомления.
Когда MBean испускает уведомление, он рассматривает каждого слушателя, который был добавлен с addNotificationListener и не впоследствии удаленный с removeNotificationListener. Если фильтру предоставили того слушателя, и если фильтр isNotificationEnabled метод возвращает false, слушатель игнорируется. Иначе, слушатель handleNotification метод вызывают с уведомлением, так же как объектом handback, для которого обеспечили addNotificationListener.
Если тот же самый слушатель добавляется не раз, это рассматривают так много раз, как это было добавлено. Часто полезно добавить того же самого слушателя с различными фильтрами или объектами handback.
Реализации этого интерфейса могут отличаться относительно потока, в котором вызывают методы фильтров и слушателей.
Если вызов метода фильтра или слушателя бросает Exception, тогда то исключение не должно препятствовать тому, чтобы другие слушатели были вызваны. Однако, если вызов метода бросает Error, тогда рекомендуется, чтобы обработка уведомления остановилась в той точке, и если возможно распространить Error к отправителю уведомления это должно быть сделано.
Этот интерфейс должен использоваться новым кодом в предпочтении к NotificationBroadcaster интерфейс.
Реализации этого интерфейса и NotificationBroadcaster должно быть осторожным относительно синхронизации. В частности это не хорошая идея для реализации, чтобы содержать любые блокировки, в то время как это вызывает слушателя. Чтобы иметь дело с возможностью, что список слушателей мог бы измениться, в то время как уведомление диспетчеризируется, хорошая стратегия состоит в том, чтобы использовать a CopyOnWriteArrayList для этого списка.
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Удаляет слушателя из этого MBean.
|
addNotificationListener, getNotificationInfo, removeNotificationListenervoid removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
Удаляет слушателя из этого MBean. У MBean должен быть слушатель, который точно соответствует данный listener, filter, и handback параметры. Если есть больше чем один такой слушатель, только один удаляется.
filter и handback параметры могут быть нулем, если и только если они - нуль в слушателе, чтобы быть удаленными.
listener - Слушатель, который был ранее добавлен к этому MBean.filter - Фильтр, который был определен, когда слушатель был добавлен.handback - handback, который был определен, когда слушатель был добавлен.ListenerNotFoundException - Слушатель не регистрируется в MBean, или он не регистрируется в данном фильтре и handback.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92