Интерфейс DiagnosticCommandMBean
- Все суперинтерфейсы:
DynamicMBean
public interface DiagnosticCommandMBean extends DynamicMBean
DiagnosticCommandMBean регистрируется в платформенном MBeanServer, как и другие платформенные MBean.
ObjectName для уникальной идентификации диагностического MBean в MBeanServer:
com.sun.management:type=DiagnosticCommand Этот MBean является DynamicMBean, а также NotificationEmitter. DiagnosticCommandMBean генерируется во время выполнения и может изменяться в течение жизненного цикла виртуальной машины Java. Диагностическая команда представлена в виде операции интерфейса DiagnosticCommandMBean. Для каждой диагностической команды определены:
- имя диагностической команды — имя, используемое в виртуальной машине HotSpot
- имя операции MBean — имя, сгенерированное для вызова операции диагностической команды. Имя операции MBean зависит от реализации
- Все символы от первого до первой точки преобразуются в нижний регистр
- Каждая точка или символ подчеркивания удаляется, а следующий за ним символ преобразуется в верхний регистр
- Все остальные символы копируются без изменений
Имя диагностической команды всегда указывается в метаданных операции в поле с именем dcmd.name (см. ниже).
Диагностическая команда может поддерживать или не поддерживать параметры и аргументы. Все операции возвращают String и либо не принимают параметров, если операция не поддерживает параметры или аргументы, либо принимают параметр String[], если операция поддерживает хотя бы один параметр или аргумент. Каждый параметр или аргумент должен храниться в одной строке String. Параметры или аргументы, разделенные на несколько экземпляров String, не поддерживаются.
Различие между параметрами и аргументами заключается в следующем: параметры идентифицируются по имени, а аргументы — по позиции в командной строке. Параметры и аргументы обрабатываются в порядке, в котором они расположены в массиве, переданном методу вызова.
Как и любая операция динамического MBean, каждая из этих операций описывается экземпляром MBeanOperationInfo. Этот объект возвращает следующие значения:
-
getName()возвращает имя операции, сгенерированное на основе имени диагностической команды -
getDescription()возвращает описание диагностической команды (такое же, как вывод команды 'help') -
getImpact()возвращаетACTION_INFO -
getReturnType()возвращаетjava.lang.String -
getDescriptor()возвращает экземпляр Descriptor (см. ниже)
Descriptor представляет собой набор полей, содержащих дополнительные метаданные элемента JMX. Поле состоит из имени и соответствующего значения. Дополнительные метаданные, предоставляемые для операции, связанной с диагностической командой, описаны в таблице ниже:
| Имя | Тип | Описание |
|---|---|---|
| dcmd.name | String | Исходное имя диагностической команды (не имя операции) |
| dcmd.description | String | Описание диагностической команды |
| dcmd.help | String | Полное сообщение справки для этой диагностической команды (совпадает с выводом команды 'help') |
| dcmd.vmImpact | String | Воздействие диагностической команды; это значение совпадает со значением, выводимым в разделе 'impact' справочного сообщения диагностической команды, и отличается от значения getImpact() объекта MBeanOperationInfo |
| dcmd.enabled | boolean | True, если диагностическая команда включена, иначе false |
| dcmd.arguments | Descriptor | Экземпляр Descriptor, содержащий описания параметров и аргументов, поддерживаемых диагностической командой (см. ниже) |
Описание параметров диагностической команды (параметров или аргументов) предоставляется в экземпляре Descriptor. В этом Descriptor имя каждого поля является именем параметра, а значение каждого поля само является экземпляром Descriptor. Поля, предоставляемые во втором экземпляре Descriptor, описаны в таблице ниже:
| Имя | Тип | Описание |
|---|---|---|
| dcmd.arg.name | String | Имя параметра |
| dcmd.arg.type | String | Тип параметра. Возвращаемая строка String — это имя типа, распознаваемого синтаксическим анализатором диагностических команд. Эти типы не являются типами Java и зависят от реализации. |
| dcmd.arg.description | String | Описание параметра |
| dcmd.arg.isMandatory | boolean | True, если параметр является обязательным, иначе false |
| dcmd.arg.isOption | boolean | True, если параметр является параметром команды, и false, если он является аргументом |
| dcmd.arg.isMultiple | boolean | True, если параметр можно указать несколько раз, иначе false |
При изменении набора диагностических команд, поддерживаемых в данный момент виртуальной машиной Java, DiagnosticCommandMBean отправляет Notification с типом "jmx.mbean.info.changed" и userData, содержащим новый MBeanInfo.
- С момента выпуска:
- 1.8
Краткое описание методов
Методы, объявленные в интерфейсе DynamicMBean
getAttribute, getAttributes, getMBeanInfo, invoke, setAttribute, setAttributes
© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.management/com/sun/management/DiagnosticCommandMBean.html