Spec-Zone.ru › OpenJDK 8

Пакет javax.management.modelmbean

Предоставляет определение классов ModelMBean.

См.: Описание

Интерфейс Описание
ModelMBean

Этот интерфейс должен быть реализован ModelMBeans.

ModelMBeanInfo

Этот интерфейс реализуется ModelMBeanInfo для каждого ModelMBean.

ModelMBeanNotificationBroadcaster

Этот интерфейс должен быть реализован ModelMBeans.

Класс Описание
DescriptorSupport

Этот класс представляет набор метаданных для элемента ModelMBean.

ModelMBeanAttributeInfo

Объект ModelMBeanAttributeInfo описывает атрибут ModelMBean.

ModelMBeanConstructorInfo

Объект ModelMBeanConstructorInfo описывает конструктор ModelMBean.

ModelMBeanInfoSupport

Этот класс представляет метаданные для ModelMBeans.

ModelMBeanNotificationInfo

Объект ModelMBeanNotificationInfo описывает уведомление, испускаемое ModelMBean.

ModelMBeanOperationInfo

Объект ModelMBeanOperationInfo описывает операцию управления ModelMBean.

RequiredModelMBean

Этот класс является реализацией ModelMBean.

Исключение Описание
InvalidTargetObjectTypeException

Исключение, выбрасываемое при указании недопустимого типа целевого объекта.

XMLParseException

Это исключение выбрасывается при парсинге XML-форматированной строки в объекты ModelMBean или при создании XML-форматированных строк из объектов ModelMBean.

Описание пакета javax.management.modelmbean

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

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

Каждый MBean имеет MBeanInfo с информацией о самом MBean, его атрибутах, операциях, конструкторах и уведомлениях. Model MBean дополняет этот MBeanInfo Descriptors, которые кодируют дополнительную информацию в виде пар (ключ, значение). Обычно 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"
С:
1.5

© 1993, 2020, 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