Spec-Zone .ru
спецификации, руководства, описания, API
|
Интерфейс | Описание |
---|---|
Дескриптор |
Дополнительные метаданные для элемента JMX.
|
DescriptorAccess |
Этот интерфейс используется, чтобы получить доступ к дескрипторам класса Дескриптора, которые связываются с компонентом JMX, то есть.
|
DescriptorRead |
Интерфейс, чтобы считать Дескриптор элемента интерфейса управления, такого как MBeanInfo.
|
DynamicMBean |
Определяет методы, которые должны быть реализованы Динамическим MBean (MBean, который представляет динамический интерфейс управления).
|
MBeanRegistration |
Может быть реализован MBean, чтобы выполнить операции прежде и будучи зарегистрированным или незарегистрированный от Сервера MBean.
|
MBeanServer |
Это - интерфейс для манипулирования MBean на стороне агента.
|
MBeanServerConnection |
Этот интерфейс представляет способ говорить с сервером MBean, или локальный или удаленный.
|
MBeanServerDelegateMBean |
Определяет интерфейс управления объекта класса MBeanServerDelegate.
|
NotificationBroadcaster |
Интерфейс, реализованный MBean, который испускает Уведомления.
|
NotificationEmitter |
Интерфейс, реализованный MBean, который испускает Уведомления.
|
NotificationFilter |
Быть реализованным любым классом, действующим как фильтр уведомления.
|
NotificationListener |
Должен быть реализован объектом, который хочет получить уведомления.
|
PersistentMBean |
Этот класс является интерфейсом, который будет реализован MBeans, которые предназначаются, чтобы быть персистентными.
|
QueryExp |
Представляет реляционные ограничения, подобные запросу базы данных "где пункты".
|
ValueExp |
Представляет значения, которые можно передать как параметры реляционным выражениям.
|
Класс | Описание |
---|---|
Атрибут |
Представляет атрибут MBean, связывая его имя с его значением.
|
AttributeChangeNotification |
Обеспечивает определения уведомлений об изменении атрибута, отправленных MBeans.
|
AttributeChangeNotificationFilter |
Этот класс реализации
NotificationFilter интерфейс для attribute change notification . |
AttributeList |
Представляет список значений для атрибутов MBean.
|
AttributeValueExp |
Представляет атрибуты, используемые в качестве параметров реляционным ограничениям.
|
DefaultLoaderRepository | Осуждаемый Использовать
MBeanServer.getClassLoaderRepository() вместо этого. |
ImmutableDescriptor |
Неизменный дескриптор.
|
JMX |
Статические методы от API JMX.
|
MBeanAttributeInfo |
Описывает атрибут MBean, представленный для управления.
|
MBeanConstructorInfo |
Описывает конструктора, представленного MBean.
|
MBeanFeatureInfo |
Предоставляет общую информацию для объекта дескриптора MBean.
|
MBeanInfo |
Описывает интерфейс управления, представленный MBean; то есть, набор атрибутов и операций, которые доступны для операций управления.
|
MBeanNotificationInfo |
MBeanNotificationInfo класс используется, чтобы описать характеристики различных экземпляров уведомления, испускаемых MBean для данного класса Java уведомления. |
MBeanOperationInfo |
Описывает работу управления, представленную MBean.
|
MBeanParameterInfo |
Описывает параметр работы, представленной MBean.
|
MBeanPermission |
Разрешение, управляющее доступом к операциям MBeanServer.
|
MBeanServerBuilder |
Этот класс представляет разработчика, который создает значение по умолчанию
MBeanServer реализация. |
MBeanServerDelegate |
Представляет сервер MBean с точки зрения управления.
|
MBeanServerFactory |
Обеспечивает ссылки сервера MBean.
|
MBeanServerInvocationHandler |
InvocationHandler это вперед методы в интерфейсе управления MBEAN через сервер MBean к MBean. |
MBeanServerNotification |
Представляет уведомление, испускаемое Сервером MBean через MBeanServerDelegate MBean.
|
MBeanServerPermission |
Разрешение, чтобы выполнить действия, связанные с MBeanServers.
|
MBeanTrustPermission |
Это разрешение представляет "доверие" подписывающему лицу или кодовой базе.
|
Уведомление |
Класс Уведомления представляет уведомление, испускаемое MBean.
|
NotificationBroadcasterSupport |
Обеспечивает реализацию
NotificationEmitter интерфейс. |
NotificationFilterSupport |
Обеспечивает реализацию
NotificationFilter интерфейс. |
ObjectInstance |
Используемый, чтобы представить имя объекта MBean и его имени класса.
|
ObjectName |
Представляет имя объекта MBean, или образец, который может соответствовать имена нескольких MBeans.
|
Запрос |
Конструкции запрашивают объектные ограничения.
|
QueryEval |
Позволяет запросу выполняться в контексте определенного сервера MBean.
|
StandardEmitterMBean |
MBean, интерфейс управления которого определяется отражением об интерфейсе Java, и это испускает уведомления.
|
StandardMBean |
MBean, интерфейс управления которого определяется отражением об интерфейсе Java.
|
StringValueExp |
Представляет строки, которые являются параметрами реляционным ограничениям.
|
Исключение | Описание |
---|---|
AttributeNotFoundException |
Указанный атрибут не существует или не может быть получен.
|
BadAttributeValueExpException |
Брошенный, когда недопустимый атрибут MBean передают к методу построения запроса.
|
BadBinaryOpValueExpException |
Брошенный, когда недопустимое выражение передают к методу для того, чтобы создать запрос.
|
BadStringOperationException |
Брошенный, когда недопустимую строковую работу передают к методу для того, чтобы создать запрос.
|
InstanceAlreadyExistsException |
MBean уже регистрируется в репозитарии.
|
InstanceNotFoundException |
Указанный MBean не существует в репозитарии.
|
IntrospectionException |
Исключение произошло во время самоанализа MBean.
|
InvalidApplicationException |
Брошенный, когда попытка предпринимается, чтобы применить любое из следующего: выражение подзапроса к MBean или квалифицированное выражение атрибута к MBean неправильного класса.
|
InvalidAttributeValueException |
Определенное значение не допустимо для атрибута.
|
JMException |
Исключения, выданные реализациями JMX.
|
JMRuntimeException |
Исключения на этапе выполнения испускаются реализациями JMX.
|
ListenerNotFoundException |
Указанный слушатель MBean не существует в репозитарии.
|
MalformedObjectNameException |
Формат строки не соответствует допустимому ObjectName.
|
MBeanException |
Представляет "определяемые пользователем" исключения, выданные методами MBean в агенте.
|
MBeanRegistrationException |
Исключения оберток, выданные предварительным регистром (), предварительно вычеркните из списка () методы
MBeanRegistration интерфейс. |
NotCompliantMBeanException |
Исключение, которое происходит, пытаясь зарегистрировать объект в сервере MBean, который не является совместимым MBean JMX.
|
OperationsException |
Представляет исключения, добавленные сервер MBean, выполняя операции на MBeans.
|
ReflectionException |
Представляет исключения, добавленные сервер MBean при использовании java.lang.reflect классов, чтобы вызвать методы на MBeans.
|
RuntimeErrorException |
Когда a
java.lang.Error происходит в агенте, он должен быть пойман и повторно брошен как a RuntimeErrorException . |
RuntimeMBeanException |
Представляет исключения на этапе выполнения, брошенные методами MBean в агент.
|
RuntimeOperationsException |
Представляет исключения на этапе выполнения, добавленные агент, выполняя операции на MBeans.
|
ServiceNotFoundException |
Представляет исключения, повышенные, когда требуемая служба не поддерживается.
|
Тип аннотации | Описание |
---|---|
DescriptorKey |
Метааннотация, которая описывает, как элемент аннотации касается поля в a
Descriptor . |
MXBean |
Аннотация, чтобы отметить интерфейс, явно как являющийся интерфейсом MXBean, или как не являющийся интерфейсом MXBean.
|
Обеспечивает базовые классы для Расширений управления Java.
Расширения управления Java (JMXTM) API являются стандартным API для управления и контроля. Типичное использование включает:
API JMX может также использоваться в качестве части решения для того, чтобы управлять системами, сетями, и так далее.
API включает удаленный доступ, таким образом, удаленная программа управления может взаимодействовать с рабочим приложением в этих целях.
Фундаментальное понятие API JMX является MBean. MBean является именованным управляемым объектом, представляющим ресурс. У этого есть интерфейс управления, состоящий из:
Например, у MBean представление конфигурации приложения могли быть атрибуты, представляющие различные элементы конфигурации. Чтение CacheSize
атрибут возвратил бы текущую стоимость того элемента. Запись этого обновила бы элемент, потенциально изменяя поведение рабочего приложения. Работа такой как save
мог постоянно хранить текущую конфигурацию. Уведомление такой как ConfigurationChangedNotification
мог быть отправлен каждый раз, когда конфигурация изменяется.
В стандартном использовании API JMX реализуются MBeans, поскольку Java возражает. Однако, как объяснено ниже, на эти объекты обычно не ссылаются непосредственно.
Чтобы сделать реализацию MBean простой, API JMX включает понятие Стандартного MBeans. Стандартный MBean является тем, атрибуты которого и операции выводятся из интерфейса Java использование определенных шаблонов именования, подобных используемым JavaBeansTM. Например, рассмотрите интерфейс как это:
public interface ConfigurationMBean { public int getCacheSize(); public void setCacheSize(int size); public long getLastChangedTime(); public void save(); }
Методы getCacheSize
и setCacheSize
определите атрибут чтения-записи типа int
вызванный CacheSize
(с начальным капиталом, в отличие от соглашения JavaBeans).
Метод getLastChangedTime
определяет атрибут типа long
вызванный LastChangedTime
. Это - атрибут "только для чтения", так как нет никакого метода setLastChangedTime
.
Метод save
определяет вызванную работу save
. Это не атрибут, так как его имя не начинается get
, set
, или is
.
Точные шаблоны именования для Стандартного MBeans детализируются в Спецификации JMX.
Есть два способа сделать объект Java, который является MBean с этим интерфейсом управления. Каждый для объекта быть класса, у которого есть точно то же самое имя как интерфейс Java, но без MBean
суффикс. Так в примере объект имел бы класс Configuration
, в том же самом пакете Java как ConfigurationMBean
. Второй путь состоит в том, чтобы использовать StandardMBean
класс.
MXBean является разновидностью Стандартного MBean, где составные типы отображаются на стандартный набор типов, определенных в javax.management.openmbean
пакет. MXBeans являются соответствующими, если Вы должны были бы иначе сослаться на специализированные классы в своем интерфейсе MBean. Они описываются подробно в спецификации для MXBean
.
Динамический MBean является MBean, который определяет его интерфейс управления во время выполнения. Например, конфигурация, MBean мог определить имена и типы атрибутов, которые он представляет, анализируя XML-файл.
Любой объект Java класса, который реализует DynamicMBean
интерфейс является Динамическим MBean.
Открытый MBean является своего рода Динамическим MBean, где типы атрибутов и параметров работы и возвращаемых значений создаются, используя маленький набор предопределенных классов Java. Открытые MBeans облегчают работу с удаленными программами управления, у которых не обязательно есть доступ к специализированным типам, включая программы не-Java. Открытые MBeans определяются пакетом javax.management.openmbean
.
MBean Модели является своего рода Динамическим MBean, который действует как мост между интерфейсом управления и базовым управляемым ресурсом. И интерфейс управления и управляемый ресурс определяются как объекты Java. Та же самая Модель реализация MBean может быть снова использована много раз с различными интерфейсами управления и управляемыми ресурсами, и она может обеспечить общую функциональность, такую как персистентность и кэширование. Модель MBeans определяется пакетом javax.management.modelmbean
.
Чтобы быть полезным, MBean должен быть зарегистрирован в Сервере MBean. Сервер MBean является репозитарием MBeans. Обычно единственный доступ к MBeans через Сервер MBean. Другими словами код больше не получает доступ к объекту Java реализация MBean непосредственно, но вместо этого получает доступ к MBean по имени через Сервер MBean. У каждого MBean есть уникальное имя в пределах Сервера MBean, определенного ObjectName
класс.
Сервер MBean является объектом, реализовывая интерфейс MBeanServer
. Самый удобный Сервер MBean, чтобы использовать является Платформой Сервер MBean. Это - единственный Сервер MBean, который может быть совместно использован различными управляемыми компонентами, работающими в пределах той же самой виртуальной машины Java. К Платформе Сервер MBean получают доступ с методом ManagementFactory.getPlatformMBeanServer()
.
Код программы может также создать новый Сервер MBean, или доступ уже создаваемые Серверы MBean, используя MBeanServerFactory
класс.
Есть два способа создать MBean. Нужно создать объект Java, который будет MBean, затем использовать registerMBean
метод, чтобы зарегистрировать это в Сервере MBean. Другой должен создать и зарегистрировать MBean в единственной работе, используя один из createMBean
методы.
registerMBean
метод более прост для локального использования, но не может использоваться удаленно. createMBean
метод может использоваться удаленно, но иногда требует внимания к проблемам загрузки класса.
MBean может выполнить действия, когда он регистрируется в или незарегистрированное от Сервера MBean, если он реализует MBeanRegistration
интерфейс.
Данный ObjectName
name
и MBeanServer
mbs
, можно получить доступ к атрибутам и операциям как в этом примере:
int cacheSize = mbs.getAttribute(name, "CacheSize");
Attribute
newCacheSize =
new Attribute("CacheSize", new Integer(2000));
mbs.setAttribute(name, newCacheSize);
mbs.invoke(name, "save", new Object[0], new Class[0]);
Альтернативно, если у Вас есть интерфейс Java, который соответствует интерфейсу управления для MBean, можно использовать прокси MBean как это:
ConfigurationMBean conf =
JMX.newMBeanProxy
(mbs, name, ConfigurationMBean.class);
int cacheSize = conf.getCacheSize();
conf.setCacheSize(2000);
conf.save();
Используя MBean прокси является только удобством. Второй пример заканчивает тем, что вызвал то же самое MBeanServer
операции как первый.
Сервер MBean может быть запрошен для MBeans, имена которого соответствуют определенные образцы и/или чьи атрибуты встречают определенные ограничения. Образцы имени создаются, используя ObjectName
класс и ограничения создаются, используя Query
класс. Методы queryNames
и queryMBeans
тогда выполните запрос.
MBean может реализовать MBeanRegistration
взаимодействуйте через интерфейс, чтобы сказать, когда это регистрируется и незарегистрировано в Сервере MBean. Дополнительно, preRegister
метод позволяет MBean получать ссылку на MBeanServer
возразите и получить ObjectName
в пределах Сервера MBean.
Уведомление является экземпляром Notification
класс или подкласс. В дополнение к его классу Java у этого есть строка типа, которая может отличить это от других уведомлений о том же самом классе.
MBean, который испустит уведомления, должен реализовать NotificationBroadcaster
или NotificationEmitter
интерфейс. Обычно, это делает это, разделяя на подклассы NotificationBroadcasterSupport
или делегирование к экземпляру того класса. Вот пример:
public class Configuration extends NotificationBroadcasterSupport
implements ConfigurationMBean {
...
private void updated() {
Notification n = new Notification(...);
sendNotification
(n);
}
}
Уведомления могут быть получены слушателем, который является объектом, который реализует NotificationListener
интерфейс. Можно добавить слушателя MBean с методом MBeanServer.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
. Можно дополнительно предоставить фильтр к этому методу, чтобы выбрать только уведомления об интересе. Фильтр является объектом, который реализует NotificationFilter
интерфейс.
MBean может быть слушателем для уведомлений, испускаемых другим MBeans в том же самом Сервере MBean. В этом случае это реализует NotificationListener
и метод MBeanServer.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
используется, чтобы слушать.
К Серверу MBean можно получить доступ удаленно через соединитель. Соединитель позволяет удаленному приложению Java получать доступ к Серверу MBean по существу тем же самым способом как локальный. Пакет javax.management.remote
определяет соединители.
Спецификация JMX также определяет понятие адаптера. Адаптер преобразовывает между запросами в протоколе, такими как SNMP или HTML и доступы к Серверу MBean. Таким образом, например SNMP ДОБИРАЕТСЯ, работа могла бы привести к a getAttribute
на Сервере MBean.
Когда клиент соединяется с сервером, используя JMX Удаленный API, возможно, что у них нет той же самой версии спецификации JMX. Версия спецификации JMX, описанной здесь, является версией 1.4. Предыдущие версии были 1.0, 1.1, и 1.2. (Было № 1.3.) Стандартный JMX Удаленный API определяется, чтобы работать с версией 1.2 вперед, таким образом, в основанном на стандартах развертывании единственные вопросы о функциональной совместимости, которые возникают версия 1.2 беспокойства вперед.
Каждая версия спецификации JMX продолжает реализовать опции предыдущих версий. Так, когда клиент выполняет более раннюю версию чем сервер, не должно быть никаких проблем функциональной совместимости.
Когда клиент выполняет более позднюю версию чем сервер, определенные более новые функции, возможно, не доступны, как детализировано в следующих разделах. Клиент может определить версию сервера, исследуя SpecificationVersion
атрибут MBeanServerDelegate
.
Невозможно использовать подстановочные знаки в ключевом свойстве ObjectName
, например domain:type=Foo,name=*
. Подстановочные знаки, которые соответствуют целые свойства, все еще позволяются, например *:*
или *:type=Foo,*
.
Невозможно использовать Query.isInstanceOf
в запросе.
Невозможно использовать точечный синтаксис такой как HeapMemoryUsage.used
в наблюдаемом атрибуте монитора, как описано в документации для javax.management.monitor
пакет.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.