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