|
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