Spec-Zone.ru › OpenJDK 17

Класс 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

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

StandardEmitterMBean(Class<?> mbeanInterface, boolean isMXBean, NotificationEmitter emitter)
StandardEmitterMBean(Class<?> mbeanInterface, NotificationEmitter emitter)
StandardEmitterMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean, NotificationEmitter emitter)
StandardEmitterMBean(T implementation, Class<T> mbeanInterface, NotificationEmitter emitter)
Модификатор Конструктор Описание
protected
Создаёт MBean, чей интерфейс управления задаётся mbeanInterface, и где уведомления обрабатываются данным NotificationEmitter.
protected
Создаёт MBean, чей интерфейс управления задаётся mbeanInterface, и где уведомления обрабатываются данным NotificationEmitter.
Создаёт MBean, чей интерфейс управления задаётся mbeanInterface, с данной реализацией, и где уведомления обрабатываются данным NotificationEmitter.
Создаёт 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() этого объекта.

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

StandardEmitterMBean

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

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

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

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

Type Parameters:
T - тип реализации MBean
Parameters:
implementation - реализация интерфейса MBean.
mbeanInterface - интерфейс Standard MBean.
isMXBean - Если true, то параметр mbeanInterface указывает на интерфейс MXBean, и результирующий MBean является MXBean.
emitter - объект, который будет обрабатывать уведомления.
Throws:
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.

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

StandardEmitterMBean

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

Создать MBean, чьи интерфейсы управления заданы параметром mbeanInterface, и где уведомления обрабатываются данным NotificationEmitter. Этот конструктор может использоваться для создания как Standard MBeans, так и MXBeans. Результирующий MBean реализует интерфейс NotificationEmitter, перенаправляя свои методы на emitter.

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

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

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

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

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

removeNotificationListener

public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
Описание скопировано из интерфейса: NotificationBroadcaster
Удаляет слушателя из этого MBean. Если слушатель был зарегистрирован с разными объектами обратной связи или фильтрами уведомлений, все записи, соответствующие слушателю, будут удалены.
Specified by:
removeNotificationListener в интерфейсе NotificationBroadcaster
Parameters:
listener - Слушатель, который ранее был добавлен в этот MBean.
Throws:
ListenerNotFoundException - Слушатель не зарегистрирован в MBean.
See Also:
  • 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 у слушателя, который нужно удалить.

Specified by:
removeNotificationListener в интерфейсе NotificationEmitter
Parameters:
listener - Слушатель, который ранее был добавлен в этот MBean.
filter - Фильтр, указанный при добавлении слушателя.
handback - Обратная связь, указанная при добавлении слушателя.
Throws:
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, 2021, 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/17/docs/api/java.management/javax/management/StandardEmitterMBean.html

Spec-Zone.ru

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