Spec-Zone.ru › OpenJDK 27

Класс 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, интерфейс управления которого определён (как для текущих стандартных 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.
 <T> 
Создаёт MBean, интерфейс управления которого задаётся mbeanInterface, с указанной реализацией и обработкой уведомлений указанным NotificationEmitter.
 <T> 
Создаёт 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)
Отправляет уведомление.

Методы, объявленные в классе 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
Модификатор и тип Метод Описание
protected void cacheMBeanInfo(MBeanInfo info)
Точка настройки: кэширует MBeanInfo, созданный для этого объекта.
Object getAttribute(String attribute)
Получает значение указанного атрибута динамического MBean.
AttributeList getAttributes(String[] attributes)
Получает значения нескольких атрибутов динамического MBean.
protected MBeanInfo getCachedMBeanInfo()
Точка настройки: возвращает MBeanInfo, кэшированный для этого объекта.
protected String getClassName(MBeanInfo info)
Точка настройки: получает className, используемый в MBeanInfo, возвращаемом этим MBean.
protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors, Object impl)
Точка настройки: получает MBeanConstructorInfo[], используемый в MBeanInfo, возвращаемом этим MBean.
protected String getDescription(MBeanAttributeInfo info)
Точка настройки: получает описание, используемое в MBeanAttributeInfo, возвращаемом этим MBean.
protected String getDescription(MBeanConstructorInfo info)
Точка настройки: получает описание, используемое в MBeanConstructorInfo, возвращаемом этим MBean.
protected String getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Точка настройки: получает описание, используемое для MBeanParameterInfo параметра sequence в MBeanConstructorInfo, возвращаемом этим MBean.
protected String getDescription(MBeanFeatureInfo info)
Точка настройки: получает описание, используемое в MBeanFeatureInfo, возвращаемом этим MBean.
protected String getDescription(MBeanInfo info)
Точка настройки: получает описание, используемое в MBeanInfo, возвращаемом этим MBean.
protected String getDescription(MBeanOperationInfo info)
Точка настройки: получает описание, используемое в MBeanOperationInfo, возвращаемом этим MBean.
protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Точка настройки: получает описание, используемое для MBeanParameterInfo параметра sequence в MBeanOperationInfo, возвращаемом этим MBean.
protected int getImpact(MBeanOperationInfo info)
Точка настройки: получает флаг impact операции, используемый в MBeanOperationInfo, возвращаемом этим MBean.
Object getImplementation()
Получает реализацию этого стандартного MBean (или MXBean).
Class<?> getImplementationClass()
Получает класс реализации этого стандартного MBean (или MXBean).
MBeanInfo getMBeanInfo()
Получает MBeanInfo для этого MBean.
final Class<?> getMBeanInterface()
Получает интерфейс управления этого стандартного MBean (или MXBean).
protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
Точка настройки: получает имя, используемое для MBeanParameterInfo параметра sequence в MBeanConstructorInfo, возвращаемом этим MBean.
protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
Точка настройки: получает имя, используемое для MBeanParameterInfo параметра sequence в MBeanOperationInfo, возвращаемом этим MBean.
Object invoke(String actionName, Object[] params, String[] signature)
Позволяет вызвать действие для динамического MBean.
void postDeregister()
Позволяет MBean выполнить необходимые действия после отмены его регистрации на сервере MBean.
void postRegister(Boolean registrationDone)
Позволяет MBean выполнить необходимые действия после регистрации на сервере MBean или после неудачной попытки регистрации.
void preDeregister()
Позволяет MBean выполнить необходимые действия до отмены его регистрации сервером MBean.
ObjectName preRegister(MBeanServer server, ObjectName name)
Позволяет MBean выполнить необходимые действия до регистрации на сервере MBean.
void setAttribute(Attribute attribute)
Задаёт значение указанного атрибута динамического MBean.
AttributeList setAttributes(AttributeList attributes)
Задаёт значения нескольких атрибутов динамического MBean.
void setImplementation(Object implementation)
Заменяет объект реализации, обёрнутый в этот объект.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

StandardEmitterMBean

public <T> 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() этого объекта.

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

StandardEmitterMBean

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

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

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

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

Параметры типа:
T — тип реализации MBean
Параметры:
implementation — реализация интерфейса MBean.
mbeanInterface — интерфейс стандартного 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. Этот конструктор можно использовать для создания как стандартных 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(NotificationListener, NotificationFilter, Object)
  • NotificationEmitter.removeNotificationListener(NotificationListener, NotificationFilter, 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 — объект фильтра. Если фильтр равен null, перед обработкой уведомлений фильтрация не выполняется.
handback — непрозрачный объект, который будет передан обратно прослушивателю при отправке уведомления. Этот объект не может использоваться источником уведомлений. Он должен быть без изменений передан прослушивателю вместе с уведомлением.
См. также:
  • NotificationBroadcaster.removeNotificationListener(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.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, которая содержит более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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