Специальные поля для компонентов MBean Java Management Extensions (JMX)
Когда вы задаете в окне Информация об атрибуте имя показателя для группы атрибутов JMX, синтаксис имени должен соответствовать определенным правилам.
Синтаксически имя показателя для группы атрибутов JMX состоит из маркеров, разделенных точками. Маркеры формируют первичные и необязательные вторичные значения:
- Основное значение : значение, полученное непосредственно из MBean или Уведомления в определенной строке таблицы. Первичные значения из MBean получаются либо из атрибута MBean, либо из вызова операции MBean (вызова метода). Первичные значения из уведомления получаются из поля или вызова метода объекта Уведомление. Первичные значения могут представлять собой простейшие типы или объекты Java™.
- Вторичное значение : значение, полученное последующей обработкой основное значение или другое вторичное значение. Вторичные значения обрабатываются внутренним образом для механизма и не задействуют вызовы сервера JMX. Если первичное (или другое вторичное) значение представляет собой объект Java, то вторичное значение - это результат выборки общедоступного поля в этом объекте. Вторичное значение может также быть результатом вызова метода в этом объекте. Такие вторичные значения получаются при помощи самоанализа Java первичного (или другого вторичного) объекта Java. Если первичное (или другое вторичное) значение - это строка Java в формате имени MBean, то вторичное значение может также быть доменом. Вторичное значение может также быть любым из свойств, составляющих имя MBean.
Следующий синтаксис описывает формат поля Имя показателя:
Имя показателя = первичное_значение [ .вторичное_значение ]
первичное_значение = Attribute.имя_атрибута |
Method.имя_метода |
Domain |
Property.имя_свойства |
Field.имя_поля |
Имя
вторичное_значение = Field.имя_поля |
Method.имя_метода |
Domain |
Property.имя_свойства |
Explode |
ElementCount имя_свойства - это имя ключевого свойства в имени объекта MBean
имя_атрибута - это имя атрибута MBean
methodName - операция с нулевым аргументом для MBean или метод с нулевым аргументом
для уведомления или другого объекта Java.
имя_метода(аргумент) = операция с одним аргументом для MBean или метод с одним аргументом для уведомления
или другого объекта Java. Эта
Аргумент передается в метод как строка.
имя_поля - имя общедоступной переменной экземпляра в уведомлении
или другом объекте Java
метод_уведомления - имя общедоступного метода с нулевым аргументом для объекта УведомлениеЕсли в определение имени показателя включено только первичное значение, то могут быть собраны любые из
следующих данных: - Домен MBean
- Строковое значение MBean
- Свойство ключа из имени MBean
- Числовое или строковое значение атрибута MBean (включая полное имя другого MBean). Числовое или строковое значение, возвращаемое операцией MBean.
- Значение числовой или строковой общедоступной переменной экземпляра в объекте Уведомление
- Числовое или строковое значение, возвращаемое операцией уведомления.
Добавив вторичное значение в определение показателя, можно детализировать первичное значение объекта Java. Можно также запустить общедоступный метод или выбрать общедоступную переменную экземпляра.
Добавив вторичное значение в другое вторичное значение в определении показателя, можно детализировать объект вторичного значения. Операцию детализации можно выполнять столько раз, сколько объектов вложено в MBean или уведомление.
Маркеры, составляющие первичные и вторичные значения - это либо ключевые слова, либо имена. В большинстве случаев за маркером ключевого слова следует маркер имени. В следующей таблице показано несколько примеров:
| Пример имени показателя | Тип группы атрибутов | Описание возвращаемых данных |
|---|---|---|
Домен
|
MBean | Часть домена MBean (часть перед двоеточием). |
Имя
|
MBean | Полное строковое представление MBean. |
Attribute.serverVendor |
MBean | Атрибут MBean serverVendor. |
Method.getHeapSize |
MBean | Значение, возвращенное getHeapSize() для MBean. |
Property.j2eeType |
MBean | Значение j2eeType извлекается из имени MBean. |
Field.Message |
Событие (уведомление) | Поле Сообщение в уведомлении. |
Ключевые слова
Attribute, Method и Field могут возвращать объекты Java, содержащие другие данные. Для этих объектов можно выполнить операции, добавив определения вторичных значений. Дополнительные примеры:
| Пример имени показателя | Тип группы атрибутов | Описание возвращаемых данных |
|---|---|---|
| Attribute.deployedObject.Method.getName | MBean | Берет атрибут deployedObject из MBean и получает результат метода getName(). |
| Attribute.eventProvider.Method. getException.Method.getDescription |
MBean | Выполняет тройную по глубине операцию; предполагается, что атрибут с именем eventProvider - это объект, у которого есть метод getException(). Этот метод возвращает объект с методом getDescription(). Вызывается метод getDescription(), и возвращаемое значение помещается в столбец. |
| Attribute.HeapMemoryUsage.Method. get(used) |
MBean | Принимает атрибут HeapMemoryUsage из MBean и получает результат метода get(значение String).
Используемая строка передается в метод в качестве аргумента. Можно передать только один аргумент; этот аргумент должен быть литеральным строковым значением. Указывает, как можно собрать данные из открытой структуры составных данных MBean. |
Domain и Property можно использовать во вторичных значениях в качестве
ключевых слов, если прежнее значение возвратило строку в формате имени MBean. Например:
| Пример имени показателя | Тип группы атрибутов | Описание возвращаемых данных |
|---|---|---|
Attribute.jdbcDriver.Property.name |
MBean | Атрибут jdbcDriver возвращает имя MBean, и из имени MBean извлекается свойство ключа 'имя'. |
Attribute.jdbcDriver.Domain |
MBean | Атрибут jdbcDriver возвращает имя MBean, и из имени MBean извлекается домен. |
Ключевые слова
ElementCount и Explode выполняют операции на массивах или собраниях данных. ElementCount– возвращает ряд элементов в массиве.Explode– разделяет строку на несколько строк, по одной новой строке для каждого элемента массива.
Примеры каждого из ключевых слов:
| Пример имени показателя | Тип группы атрибутов | Описание возвращаемых данных |
|---|---|---|
| Attribute.deployedObjects.ElementCount | MBean | Атрибут MBean deployedObjects - это массив, поэтому данный столбец содержит ряд элементов в массиве. |
| Attribute.deployedObjects.Explode. MBean.Property.j2eeType |
MBean | Результат - таблица, содержащая по одной строке для каждого элемента во внедренных объектах. Этот столбец содержит j2eeType внедренного объекта. |
| Attribute.SystemProperties.Method. values.Explode.Method.get(key) |
MBean | Создается одна новая строка для каждой записи в открытой структуре табличных данных MBean. Каждая структура табличных данных содержит структуру составных данных с элементом key; возвращается этот элемент. |