Класс 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 sendNotification​(Notification n)

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

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

cacheMBeanInfo, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, postDeregister, postRegister, preDeregister, preRegister, setImplementation

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

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

Методы, унаследованные от интерфейса javax.management.DynamicMBean

getAttribute, getAttributes, invoke, setAttribute, setAttributes

Методы, унаследованные от интерфейса javax.management.NotificationBroadcaster

addNotificationListener, getNotificationInfo, removeNotificationListener

Методы, унаследованные от интерфейса javax.management.NotificationEmitter

removeNotificationListener

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

StandardEmitterMBean

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

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

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

Массив, возвращаемый методом NotificationBroadcaster.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 MBean, так и MXBean. Полученный MBean реализует интерфейс NotificationEmitter, перенаправляя свои методы на emitter. Допустимо и полезно, чтобы implementation и emitter были одним и тем же объектом.

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

Массив, возвращаемый методом NotificationBroadcaster.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.

Массив, возвращаемый методом NotificationBroadcaster.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 MBean, так и MXBean. Полученный MBean реализует интерфейс NotificationEmitter, перенаправляя свои методы на emitter.

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

Массив, возвращаемый методом NotificationBroadcaster.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.

Методы

sendNotification

public void sendNotification(Notification n)

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

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

Parameters:
n - уведомление для отправки.
Throws:
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/StandardEmitterMBean.html

Spec-Zone .ru
спецификации, руководства, описания, API