Spec-Zone.ru › OpenJDK 25

Пакет javax.management.modelmbean

package javax.management.modelmbean

Предоставляет определения классов ModelMBean. Model MBean — это MBean, выступающий связующим звеном между интерфейсом управления и базовым управляемым ресурсом. И интерфейс управления, и управляемый ресурс задаются как объекты Java. Одну и ту же реализацию Model MBean можно многократно использовать с различными интерфейсами управления и управляемыми ресурсами; она может предоставлять общую функциональность, например сохранение и кэширование.

Model MBean реализует интерфейс ModelMBean. Это DynamicMBean, метод getMBeanInfo которого возвращает объект, реализующий ModelMBeanInfo.

У каждого MBean есть MBeanInfo со сведениями о самом MBean, его атрибутах, операциях, конструкторах и уведомлениях. Model MBean дополняет этот MBeanInfo объектами Descriptor, которые кодируют дополнительную информацию в виде пар (ключ, значение). Обычно объекты Descriptor являются экземплярами DescriptorSupport.

Класс RequiredModelMBean предоставляет стандартную реализацию Model MBean.

В следующем примере показано, как с помощью Model MBean сделать метод get класса HashMap доступным для управления через сервер MBean. Через сервер MBean другие методы недоступны. В данном случае в HashMap нет ничего особенного. Аналогичным образом для управления можно открыть открытые методы любого открытого класса.

import java.lang.reflect.Method;
import java.util.HashMap;
import javax.management.*;
import javax.management.modelmbean.*;

// ...

MBeanServer mbs = MBeanServerFactory.createMBeanServer();
// The MBean Server

HashMap map = new HashMap();
// The resource that will be managed

// Construct the management interface for the Model MBean
Method getMethod = HashMap.class.getMethod("get", new Class[] {Object.class});
ModelMBeanOperationInfo getInfo =
    new ModelMBeanOperationInfo("Get value for key", getMethod);
ModelMBeanInfo mmbi =
    new ModelMBeanInfoSupport(HashMap.class.getName(),
                  "Map of keys and values",
                  null,  // no attributes
                  null,  // no constructors
                  new ModelMBeanOperationInfo[] {getInfo},
                  null); // no notifications

// Make the Model MBean and link it to the resource
ModelMBean mmb = new RequiredModelMBean(mmbi);
mmb.setManagedResource(map, "ObjectReference");

// Register the Model MBean in the MBean Server
ObjectName mapName = new ObjectName(":type=Map,name=whatever");
mbs.registerMBean(mmb, mapName);

// Resource can evolve independently of the MBean
map.put("key", "value");

// Can access the "get" method through the MBean Server
mbs.invoke(mapName, "get", new Object[] {"key"}, new String[] {Object.class.getName()});
// returns "value"
    

Спецификация пакета

  • См. спецификацию JMX 1.4 Спецификация JMX, версия 1.4
Начиная с:
1.5
Пакет Описание
javax.management
Предоставляет основные классы Java Management Extensions.
Класс Описание
DescriptorSupport
Этот класс представляет набор метаданных для элемента ModelMBean.
InvalidTargetObjectTypeException
Исключение, возникающее при указании недопустимого типа целевого объекта.
ModelMBean
Этот интерфейс должен реализовываться классами ModelMBean.
ModelMBeanAttributeInfo
Объект ModelMBeanAttributeInfo описывает атрибут ModelMBean.
ModelMBeanConstructorInfo
Объект ModelMBeanConstructorInfo описывает конструктор ModelMBean.
ModelMBeanInfo
Этот интерфейс реализуется объектом ModelMBeanInfo для каждого ModelMBean.
ModelMBeanInfoSupport
Этот класс представляет метаданные для ModelMBean.
ModelMBeanNotificationBroadcaster
Этот интерфейс должен реализовываться классами ModelMBean.
ModelMBeanNotificationInfo
Объект ModelMBeanNotificationInfo описывает уведомление, отправляемое ModelMBean.
ModelMBeanOperationInfo
Объект ModelMBeanOperationInfo описывает операцию управления ModelMBean.
RequiredModelMBean
Этот класс является реализацией ModelMBean.
XMLParseException Устарело, будет удалено: этот элемент API планируется удалить в будущей версии.
Этот класс существует только для поддержки разбора XML, реализованного в этом модуле приватно, в DescriptorSupport.

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

Spec-Zone.ru

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