Пакет 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
| Класс | Описание |
|---|---|
| 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, 2023, 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/21/docs/api/java.management/javax/management/modelmbean/package-summary.html