Spec-Zone.ru › OpenJDK 24

Пакет 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
Since:
1.5
Пакет Описание
javax.management
Предоставляет основные классы для Java Management Extensions.
Класс Описание
DescriptorSupport
Этот класс представляет набор метаданных для элемента ModelMBean.
InvalidTargetObjectTypeException
Исключение, выбрасываемое при указании некорректного типа целевого объекта.
ModelMBean
Этот интерфейс должен реализовываться ModelMBeans.
ModelMBeanAttributeInfo
Объект ModelMBeanAttributeInfo описывает атрибут ModelMBean.
ModelMBeanConstructorInfo
Объект ModelMBeanConstructorInfo описывает конструктор ModelMBean.
ModelMBeanInfo
Этот интерфейс реализуется ModelMBeanInfo для каждого ModelMBean.
ModelMBeanInfoSupport
Этот класс представляет метаданные для ModelMBeans.
ModelMBeanNotificationBroadcaster
Этот интерфейс должен реализовываться ModelMBeans.
ModelMBeanNotificationInfo
Объект ModelMBeanNotificationInfo описывает уведомление, испускаемое ModelMBean.
ModelMBeanOperationInfo
Объект ModelMBeanOperationInfo описывает операцию управления ModelMBean.
RequiredModelMBean
Этот класс является реализацией ModelMBean.
XMLParseException
Это исключение выбрасывается при разборе XML-строки в объекты ModelMBean или при создании XML-строк из объектов ModelMBean.

© 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://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/modelmbean/package-summary.html

Spec-Zone.ru

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