Spec-Zone.ru › OpenJDK 25

Класс 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.

Следующий код выводит сообщение при каждой регистрации или отмене регистрации MBean на сервере MBean 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

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

Конструктор Описание
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

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

getSource

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

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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/MBeanServerNotification.html

Spec-Zone.ru

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