Spec-Zone.ru › OpenJDK 24

Интерфейс DiagnosticCommandMBean

Все суперинтерфейсы:
DynamicMBean
public interface DiagnosticCommandMBean extends DynamicMBean
Интерфейс управления диагностическими командами для виртуальной машины HotSpot.

Данный интерфейс регистрируется в сервере MBean платформы, как и другие платформенные MBean.

Идентификатор ObjectName для уникальной идентификации диагностического MBean в рамках сервера MBean:

com.sun.management:type=DiagnosticCommand

Этот MBean является DynamicMBean и также NotificationEmitter. DiagnosticCommandMBean генерируется во время выполнения и может быть изменён в течение жизненного цикла виртуальной машины Java. Диагностическая команда представлена как операция интерфейса DiagnosticCommandMBean. Каждая диагностическая команда имеет:

  • имя диагностической команды, используемое в виртуальной машине HotSpot
  • имя операции MBean, которое является именем, сгенерированным для вызова операции диагностической команды. Имя операции MBean зависит от реализации
Рекомендуемый способ преобразования имени диагностической команды в имя операции MBean:
  • Все символы с первого по первую точку преобразуются в строчные
  • Все точки и нижние подчеркивания удаляются, а следующий символ преобразуется в заглавный
  • Все остальные символы копируются без изменений

Имя диагностической команды всегда предоставляется с метаданными об операции в поле с именем dcmd.name (см. ниже).

Диагностическая команда может или не может поддерживать параметры или аргументы. Все операции возвращают String и либо не принимают параметров для операций, не поддерживающих параметры или аргументы, либо принимают параметр String[] для операций, поддерживающих как минимум один параметр или аргумент. Каждый параметр или аргумент должен храниться в отдельной строке. Параметры или аргументы, разделенные на несколько строк, не поддерживаются.

Различие между параметрами и аргументами: параметры идентифицируются по имени параметра, а аргументы — по их позиции в командной строке. Параметры и аргументы обрабатываются в порядке массива, переданного в метод вызова.

Как и любая операция динамического MBean, каждая из этих операций описывается объектом MBeanOperationInfo. Вот значения, возвращаемые этим объектом:

  • getName() возвращает имя операции, сгенерированное из имени диагностической команды
  • getDescription() возвращает описание диагностической команды (такое же, как возвращаемое командой «help»)
  • getImpact() возвращает ACTION_INFO
  • getReturnType() возвращает java.lang.String
  • getDescriptor() возвращает экземпляр Descriptor (см. ниже)

Descriptor — это коллекция полей, содержащих дополнительные метаданные для элемента JMX. Поле — это имя и связанное с ним значение. Дополнительные метаданные, предоставляемые для операции, связанной с диагностической командой, описаны в таблице ниже:

description
Имя Тип Описание
dcmd.name String Исходное имя диагностической команды (не имя операции)
dcmd.description String Описание диагностической команды
dcmd.help String Полное сообщение справки по этой диагностической команде (тот же вывод, что и от команды «help»)
dcmd.vmImpact String Воздействие диагностической команды; это значение такое же, как и в разделе «влияние» в сообщении справки по диагностической команде, и отличается от getImpact() объекта MBeanOperationInfo
dcmd.enabled boolean True, если диагностическая команда включена; false — в противном случае
dcmd.arguments Descriptor Экземпляр Descriptor, содержащий описания параметров и аргументов, поддерживаемых диагностической командой (см. ниже)

Описание параметров (параметров или аргументов) диагностической команды предоставляется в экземпляре Descriptor. В этом Descriptor имя каждого поля — имя параметра, а значение каждого поля — это сам экземпляр Descriptor. Поля, предоставляемые во втором экземпляре Descriptor, описаны в таблице ниже:

description
Имя Тип Описание
dcmd.arg.name String Имя параметра
dcmd.arg.type 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

Краткое описание методов

Методы, объявленные в интерфейсе javax.management.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://download.java.net/java/early_access/jdk24/docs/api/jdk.management/com/sun/management/DiagnosticCommandMBean.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API