Spec-Zone.ru › OpenJDK 8

Класс StandardEmitterMBean

  • java.lang.Object
    • javax.management.StandardMBean
      • javax.management.StandardEmitterMBean
Все реализуемые интерфейсы:
DynamicMBean, MBeanRegistration, NotificationBroadcaster, NotificationEmitter

public class StandardEmitterMBean
extends StandardMBean
implements NotificationEmitter

Класс MBean, интерфейс управления которым определяется по отражению Java-интерфейса, и который отправляет уведомления.

Следующий пример демонстрирует использование публичного конструктора StandardEmitterMBean(implementation, mbeanInterface, emitter) для создания MBean, отправляющего уведомления с любым именем класса реализации Impl, с интерфейсом управления (как для текущих Standard MBean) определённым любым интерфейсом Intf и с любой реализацией интерфейса NotificationEmitter. В примере используется класс NotificationBroadcasterSupport в качестве реализации интерфейса NotificationEmitter.

MBeanServer mbs;
     ...
     final String[] types = new String[] {"sun.disc.space","sun.disc.alarm"};
     final MBeanNotificationInfo info = new MBeanNotificationInfo(
                                          types,
                                          Notification.class.getName(),
                                          "Notification about disc info.");
     final NotificationEmitter emitter =
                    new NotificationBroadcasterSupport(info);

     final Intf impl = new Impl(...);
     final Object mbean = new StandardEmitterMBean(
                                     impl, Intf.class, emitter);
     mbs.registerMBean(mbean, objectName);
С:
1.6
См. также:
StandardMBean

Конструкторы

Модификатор Конструктор и описание
protected StandardEmitterMBean(Class<?> mbeanInterface, boolean isMXBean, NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которым задаётся mbeanInterface, а обработка уведомлений осуществляется с помощью заданного NotificationEmitter.

protected StandardEmitterMBean(Class<?> mbeanInterface, NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которым задаётся mbeanInterface, а обработка уведомлений осуществляется с помощью заданного NotificationEmitter.

StandardEmitterMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean, NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которым задаётся mbeanInterface, с заданной реализацией и обработкой уведомлений с помощью заданного NotificationEmitter.

StandardEmitterMBean(T implementation, Class<T> mbeanInterface, NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которым задаётся mbeanInterface, с заданной реализацией и обработкой уведомлений с помощью заданного NotificationEmitter.

Методы

Модификатор и тип Метод и описание
void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)

Добавляет слушателя к этому MBean.

MBeanNotificationInfo[] getNotificationInfo()

Возвращает массив, указывающий для каждого уведомления, которое может отправить этот MBean, имя Java-класса уведомления и тип уведомления.

void removeNotificationListener(NotificationListener listener)

Удаляет слушателя из этого MBean.

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

Удаляет слушателя из этого MBean.

void sendNotification(Notification n)

Отправляет уведомление.

Методы, унаследованные от класса javax.management.StandardMBean

cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, invoke, postDeregister, postRegister, preDeregister, preRegister, setAttribute, setAttributes, setImplementation

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

StandardEmitterMBean

public StandardEmitterMBean(T implementation,
                            Class<T> mbeanInterface,
                            NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которого задан mbeanInterface, с указанной реализацией и обработкой уведомлений с помощью указанного NotificationEmitter. Получившийся MBean реализует интерфейс NotificationEmitter путём перенаправления своих методов на emitter. Допустимо и полезно, чтобы implementation и emitter были одним и тем же объектом.

Если emitter является экземпляром NotificationBroadcasterSupport, то метод MBean sendNotification вызовет emitter.sendNotification.

Массив, возвращаемый методом getNotificationInfo() нового MBean, является копией массива, возвращённого методом emitter.getNotificationInfo() в момент создания. Если массив, возвращённый emitter.getNotificationInfo(), позже изменится, это не повлияет на getNotificationInfo() данного объекта.

Параметры:
implementation - реализация интерфейса MBean.
mbeanInterface - интерфейс Standard MBean.
emitter - объект, который будет обрабатывать уведомления.
Исключения:
IllegalArgumentException - если mbeanInterface не соответствует шаблонам проектирования JMX для интерфейсов управления, или если указанный implementation не реализует указанный интерфейс, или если emitter равно null.

StandardEmitterMBean

public StandardEmitterMBean(T implementation,
                            Class<T> mbeanInterface,
                            boolean isMXBean,
                            NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которого задан mbeanInterface, с указанной реализацией и обработкой уведомлений с помощью указанного NotificationEmitter. Этот конструктор может использоваться для создания как Standard MBean, так и MXBean. Получившийся MBean реализует интерфейс NotificationEmitter путём перенаправления своих методов на emitter. Допустимо и полезно, чтобы implementation и emitter были одним и тем же объектом.

Если emitter является экземпляром NotificationBroadcasterSupport, то метод MBean sendNotification вызовет emitter.sendNotification.

Массив, возвращаемый методом getNotificationInfo() нового MBean, является копией массива, возвращённого методом emitter.getNotificationInfo() в момент создания. Если массив, возвращённый emitter.getNotificationInfo(), позже изменится, это не повлияет на getNotificationInfo() данного объекта.

Параметры:
implementation - реализация интерфейса MBean.
mbeanInterface - интерфейс Standard MBean.
isMXBean - Если true, параметр mbeanInterface задаёт интерфейс MXBean, и результат MBean является MXBean.
emitter - объект, который будет обрабатывать уведомления.
Исключения:
IllegalArgumentException - если mbeanInterface не соответствует шаблонам проектирования JMX для интерфейсов управления, или если указанный implementation не реализует указанный интерфейс, или если emitter равно null.

StandardEmitterMBean

protected StandardEmitterMBean(Class<?> mbeanInterface,
                               NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которого задан mbeanInterface, и обработкой уведомлений с помощью указанного NotificationEmitter. Получившийся MBean реализует интерфейс NotificationEmitter путём перенаправления своих методов на emitter.

Если emitter является экземпляром NotificationBroadcasterSupport, то метод MBean sendNotification вызовет emitter.sendNotification.

Массив, возвращаемый методом getNotificationInfo() нового MBean, является копией массива, возвращённого методом emitter.getNotificationInfo() в момент создания. Если массив, возвращённый emitter.getNotificationInfo(), позже изменится, это не повлияет на getNotificationInfo() данного объекта.

Этот конструктор должен вызываться из подкласса, реализующего указанный mbeanInterface.

Параметры:
mbeanInterface - интерфейс StandardMBean.
emitter - объект, который будет обрабатывать уведомления.
Исключения:
IllegalArgumentException - если mbeanInterface не соответствует шаблонам проектирования JMX для интерфейсов управления, или если this не реализует указанный интерфейс, или если emitter равно null.

StandardEmitterMBean

protected StandardEmitterMBean(Class<?> mbeanInterface,
                               boolean isMXBean,
                               NotificationEmitter emitter)

Создаёт MBean, интерфейс управления которого задан mbeanInterface, и обработкой уведомлений с помощью указанного NotificationEmitter. Этот конструктор может использоваться для создания как Standard MBean, так и MXBean. Получившийся MBean реализует интерфейс NotificationEmitter путём перенаправления своих методов на emitter.

Если emitter является экземпляром NotificationBroadcasterSupport, то метод MBean sendNotification вызовет emitter.sendNotification.

Массив, возвращаемый методом getNotificationInfo() нового MBean, является копией массива, возвращённого методом emitter.getNotificationInfo() в момент создания. Если массив, возвращённый emitter.getNotificationInfo(), позже изменится, это не повлияет на getNotificationInfo() данного объекта.

Этот конструктор должен вызываться из подкласса, реализующего указанный mbeanInterface.

Параметры:
mbeanInterface - интерфейс StandardMBean.
isMXBean - Если true, параметр mbeanInterface задаёт интерфейс MXBean, и результат MBean является MXBean.
emitter - объект, который будет обрабатывать уведомления.
Исключения:
IllegalArgumentException - если mbeanInterface не соответствует шаблонам проектирования JMX для интерфейсов управления, или если this не реализует указанный интерфейс, или если emitter равно null.

Методы

removeNotificationListener

public void removeNotificationListener(NotificationListener listener)
                                throws ListenerNotFoundException

Описание скопировано из интерфейса: NotificationBroadcaster

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

Указано в:
removeNotificationListener в интерфейсе NotificationBroadcaster
Параметры:
listener - Слушатель, который был ранее добавлен в этот MBean.
Исключения:
ListenerNotFoundException - Слушатель не зарегистрирован в MBean.
См. также:
NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object), NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)

removeNotificationListener

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

Описание скопировано из интерфейса: NotificationEmitter

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

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

Указано в:
removeNotificationListener в интерфейсе NotificationEmitter
Параметры:
listener - Слушатель, который был ранее добавлен в этот MBean.
filter - Фильтр, указанный при добавлении слушателя.
handback - Объект обратной связи, указанный при добавлении слушателя.
Исключения:
ListenerNotFoundException - Слушатель не зарегистрирован в MBean, или не зарегистрирован с указанным фильтром и объектом обратной связи.

addNotificationListener

public void addNotificationListener(NotificationListener listener,
                                    NotificationFilter filter,
                                    Object handback)

Описание скопировано из интерфейса: NotificationBroadcaster

Добавляет слушателя в этот MBean.

Указано в:
addNotificationListener в интерфейсе NotificationBroadcaster
Параметры:
listener - Объект слушателя, который будет обрабатывать уведомления, исходящие от распределителя.
filter - Объект фильтра. Если filter равен null, фильтрация уведомлений не будет выполнена.
handback - Непрозрачный объект, который будет возвращён слушателю при отправке уведомления. Этот объект не может быть использован объектом-распределителем уведомлений. Он должен быть возвращён неизменённым вместе с уведомлением слушателю.
См. также:
NotificationBroadcaster.removeNotificationListener(javax.management.NotificationListener)

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()

Описание скопировано из интерфейса: NotificationBroadcaster

Возвращает массив, указывающий для каждой уведомления, которое данный MBean может отправить, имя класса Java уведомления и тип уведомления.

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

Указано в:
getNotificationInfo в интерфейсе NotificationBroadcaster
Возвращает:
массив возможных уведомлений.

sendNotification

public void sendNotification(Notification n)

Отправляет уведомление.

Если параметр emitter конструктора был экземпляром NotificationBroadcasterSupport, то этот метод вызовет emitter.sendNotification.

Параметры:
n - уведомление для отправки.
Исключения:
ClassCastException - если параметр emitter конструктора не был экземпляром NotificationBroadcasterSupport.

© 1993, 2020, 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.

Spec-Zone.ru

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