Класс 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
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт MBean, интерфейс управления которого задаётся mbeanInterface, а обработка уведомлений выполняется указанным NotificationEmitter. |
|
protected |
Создаёт MBean, интерфейс управления которого задаётся mbeanInterface, а обработка уведомлений выполняется указанным NotificationEmitter. |
|
<T> |
Создаёт MBean, интерфейс управления которого задаётся mbeanInterface, с указанной реализацией и обработкой уведомлений указанным
NotificationEmitter. |
|
<T> |
Создаёт MBean, интерфейс управления которого задаётся mbeanInterface, с указанной реализацией и обработкой уведомлений указанным NotificationEmitter. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addNotificationListener |
Добавляет прослушиватель в этот MBean. |
MBeanNotificationInfo[] |
getNotificationInfo() |
Возвращает массив, содержащий для каждого уведомления, которое может отправить этот MBean, имя класса Java уведомления и тип уведомления. |
void |
removeNotificationListener |
Удаляет прослушиватель из этого MBean. |
void |
removeNotificationListener |
Удаляет прослушиватель из этого MBean. |
void |
sendNotification |
Отправляет уведомление. |
Методы, объявленные в классе 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, созданный для этого объекта. |
Object |
getAttribute |
Получает значение указанного атрибута динамического MBean. |
AttributeList |
getAttributes |
Получает значения нескольких атрибутов динамического MBean. |
protected MBeanInfo |
getCachedMBeanInfo() |
Точка настройки: возвращает MBeanInfo, кэшированный для этого объекта. |
protected String |
getClassName |
Точка настройки: получает className, используемый в MBeanInfo, возвращаемом этим MBean. |
protected MBeanConstructorInfo[] |
getConstructors |
Точка настройки: получает MBeanConstructorInfo[], используемый в MBeanInfo, возвращаемом этим MBean. |
protected String |
getDescription |
Точка настройки: получает описание, используемое в MBeanAttributeInfo, возвращаемом этим MBean. |
protected String |
getDescription |
Точка настройки: получает описание, используемое в MBeanConstructorInfo, возвращаемом этим MBean. |
protected String |
getDescription |
Точка настройки: получает описание, используемое для MBeanParameterInfo параметра sequence в MBeanConstructorInfo, возвращаемом этим MBean. |
protected String |
getDescription |
Точка настройки: получает описание, используемое в MBeanFeatureInfo, возвращаемом этим MBean. |
protected String |
getDescription |
Точка настройки: получает описание, используемое в MBeanInfo, возвращаемом этим MBean. |
protected String |
getDescription |
Точка настройки: получает описание, используемое в MBeanOperationInfo, возвращаемом этим MBean. |
protected String |
getDescription |
Точка настройки: получает описание, используемое для MBeanParameterInfo параметра sequence в MBeanOperationInfo, возвращаемом этим MBean. |
protected int |
getImpact |
Точка настройки: получает флаг impact операции, используемый в MBeanOperationInfo, возвращаемом этим MBean. |
Object |
getImplementation() |
Получает реализацию этого стандартного MBean (или MXBean). |
Class |
getImplementationClass() |
Получает класс реализации этого стандартного MBean (или MXBean). |
MBeanInfo |
getMBeanInfo() |
Получает MBeanInfo для этого MBean. |
final Class |
getMBeanInterface() |
Получает интерфейс управления этого стандартного MBean (или MXBean). |
protected String |
getParameterName |
Точка настройки: получает имя, используемое для MBeanParameterInfo параметра sequence в MBeanConstructorInfo, возвращаемом этим MBean. |
protected String |
getParameterName |
Точка настройки: получает имя, используемое для MBeanParameterInfo параметра sequence в MBeanOperationInfo, возвращаемом этим MBean. |
Object |
invoke |
Позволяет вызвать действие для динамического MBean. |
void |
postDeregister() |
Позволяет MBean выполнить необходимые действия после отмены его регистрации на сервере MBean. |
void |
postRegister |
Позволяет MBean выполнить необходимые действия после регистрации на сервере MBean или после неудачной попытки регистрации. |
void |
preDeregister() |
Позволяет MBean выполнить необходимые действия до отмены его регистрации сервером MBean. |
ObjectName |
preRegister |
Позволяет MBean выполнить необходимые действия до регистрации на сервере MBean. |
void |
setAttribute |
Задаёт значение указанного атрибута динамического MBean. |
AttributeList |
setAttributes |
Задаёт значения нескольких атрибутов динамического MBean. |
void |
setImplementation |
Заменяет объект реализации, обёрнутый в этот объект. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
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() этого объекта.
- Параметры типа:
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- Определён в:
-
removeNotificationListenerв интерфейсеNotificationBroadcaster - Параметры:
-
listener— прослушиватель, ранее добавленный в этот MBean. - Исключения:
-
ListenerNotFoundException— прослушиватель не зарегистрирован в MBean. - См. также:
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- Определён в:
-
addNotificationListenerв интерфейсеNotificationBroadcaster - Параметры:
-
listener— объект прослушивателя, который будет обрабатывать уведомления, отправляемые источником уведомлений. -
filter— объект фильтра. Если фильтр равен null, перед обработкой уведомлений фильтрация не выполняется. -
handback— непрозрачный объект, который будет передан обратно прослушивателю при отправке уведомления. Этот объект не может использоваться источником уведомлений. Он должен быть без изменений передан прослушивателю вместе с уведомлением. - См. также:
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.