Spec-Zone.ru › OpenJDK 24

Класс 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.
 <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)
Отправляет уведомление.

Методы, объявленные в классе 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 <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() этого объекта.

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

StandardEmitterMBean

public <T> 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, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/StandardEmitterMBean.html

Spec-Zone.ru

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