Spec-Zone.ru › OpenJDK 27

Класс MBeanServerNotification

java.lang.Object
java.util.EventObject
javax.management.Notification
javax.management.MBeanServerNotification
Все реализуемые интерфейсы:
Serializable
public class MBeanServerNotification extends Notification
Представляет уведомление, отправляемое сервером MBean через MBean MBeanServerDelegate. Сервер MBean отправляет следующие типы уведомлений: регистрация MBean, отмена регистрации MBean.

Чтобы получать уведомления MBeanServerNotification, необходимо зарегистрировать прослушиватель в MBean MBeanServerDelegate, представляющем сервер MBean. ObjectName MBeanServerDelegate — MBeanServerDelegate.DELEGATE_NAME, который равен JMImplementation:type=MBeanServerDelegate.

mbeanServer:

private static final NotificationListener printListener = new NotificationListener() {
    public void handleNotification(Notification n, Object handback) {
        if (!(n instanceof MBeanServerNotification)) {
            System.out.println("Ignored notification of class " + n.getClass().getName());
            return;
        }
        MBeanServerNotification mbsn = (MBeanServerNotification) n;
        String what;
        if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION))
            what = "MBean registered";
        else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION))
            what = "MBean unregistered";
        else
            what = "Unknown type " + n.getType();
        System.out.println("Received MBean Server notification: " + what + ": " +
                mbsn.getMBeanName());
    }
};

...
    mbeanServer.addNotificationListener(
            MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);

MBean, который не является MBeanServerDelegate, также может отправлять уведомления MBeanServerNotification. В частности, существует соглашение, согласно которому MBean отправляют MBeanServerNotification для группы MBean.

Уведомление MBeanServerNotification, отправляемое для обозначения регистрации или отмены регистрации группы MBean, имеет следующие характеристики:

  • Его тип уведомления — "JMX.mbean.registered.group" или "JMX.mbean.unregistered.group", что также можно записать как REGISTRATION_NOTIFICATION+ ".group" или UNREGISTRATION_NOTIFICATION+ ".group".
  • Его имя MBean — шаблон ObjectName, который выбирает набор (или надмножество) регистрируемых MBean или MBean, регистрация которых отменяется
  • Его пользовательские данные могут быть необязательно заданы как массив ObjectName, содержащий имена всех регистрируемых MBean или MBean, регистрация которых отменяется.

MBean, отправляющие эти уведомления о регистрации/отмене регистрации группы, объявляют их в своем MBeanNotificationInfo.

С версии:
1.5
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final String REGISTRATION_NOTIFICATION
Тип уведомления, обозначающий, что MBean зарегистрирован.
static final String UNREGISTRATION_NOTIFICATION
Тип уведомления, обозначающий, что регистрация MBean отменена.

Поля, объявленные в классе Notification

source
Модификатор и тип Поле Описание
protected Object source
Это поле скрывает поле EventObject.source родительского класса, чтобы сделать его нетранзиентным и, следовательно, включить в сериализованную форму.

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

Конструктор Описание
MBeanServerNotification(String type, Object source, long sequenceNumber, ObjectName objectName)
Создает объект MBeanServerNotification, указывая имена объектов MBean, вызвавших уведомление, и заданный тип уведомления.

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

Модификатор и тип Метод Описание
ObjectName getMBeanName()
Возвращает имя объекта MBean, вызвавшего уведомление.

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

getMessage, getSequenceNumber, getTimeStamp, getType, getUserData, setSequenceNumber, setSource, setTimeStamp, setUserData, toString
Модификатор и тип Метод Описание
String getMessage()
Получает сообщение уведомления.
long getSequenceNumber()
Получает порядковый номер уведомления.
long getTimeStamp()
Получает временную метку уведомления.
String getType()
Получает тип уведомления.
Object getUserData()
Получает пользовательские данные.
void setSequenceNumber(long sequenceNumber)
Задает порядковый номер уведомления.
void setSource(Object source)
Задает источник.
void setTimeStamp(long timeStamp)
Задает временную метку уведомления.
void setUserData(Object userData)
Задает пользовательские данные.
String toString()
Возвращает строковое представление этого уведомления.

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

getSource
Модификатор и тип Метод Описание
Object getSource()
Объект, в котором изначально произошло событие.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, 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()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание полей

REGISTRATION_NOTIFICATION

public static final String REGISTRATION_NOTIFICATION
Тип уведомления, обозначающий, что MBean зарегистрирован. Значение: "JMX.mbean.registered".
См. также:
  • Значения констант полей

UNREGISTRATION_NOTIFICATION

public static final String UNREGISTRATION_NOTIFICATION
Тип уведомления, обозначающий, что регистрация MBean отменена. Значение: "JMX.mbean.unregistered".
См. также:
  • Значения констант полей

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

MBeanServerNotification

public MBeanServerNotification(String type, Object source, long sequenceNumber, ObjectName objectName)
Создает объект MBeanServerNotification, указывая имена объектов MBean, вызвавших уведомление, и заданный тип уведомления.
Параметры:
type — строка, обозначающая тип уведомления. Задайте одно из следующих значений: REGISTRATION_NOTIFICATION, UNREGISTRATION_NOTIFICATION.
source — объект MBeanServerNotification, отвечающий за пересылку уведомления сервера MBean.
sequenceNumber — порядковый номер, который можно использовать для упорядочения полученных уведомлений.
objectName — имя объекта MBean, вызвавшего уведомление.

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

getMBeanName

public ObjectName getMBeanName()
Возвращает имя объекта MBean, вызвавшего уведомление.
Возвращает:
имя объекта MBean, вызвавшего уведомление.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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