Spec-Zone.ru › OpenJDK 24

Класс JMX

java.lang.Object
javax.management.JMX
public class JMX extends Object
Статические методы из API JMX. Экземпляры этого класса отсутствуют.
С:
1.6

Краткое описание полей

Модификатор и тип Поле Описание
static final String DEFAULT_VALUE_FIELD
Имя поля defaultValue.
static final String IMMUTABLE_INFO_FIELD
Имя поля immutableInfo.
static final String INTERFACE_CLASS_NAME_FIELD
Имя поля interfaceClassName.
static final String LEGAL_VALUES_FIELD
Имя поля legalValues.
static final String MAX_VALUE_FIELD
Имя поля maxValue.
static final String MIN_VALUE_FIELD
Имя поля minValue.
static final String MXBEAN_FIELD
Имя поля mxbean.
static final String OPEN_TYPE_FIELD
Имя поля openType.
static final String ORIGINAL_TYPE_FIELD
Имя поля originalType.

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

Модификатор и тип Метод Описание
static boolean isMXBeanInterface(Class<?> interfaceClass)
Проверка, является ли интерфейс интерфейсом MXBean.
static <T> T newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass)
Создание прокси для Standard MBean в локальном или удалённом сервере MBean.
static <T> T newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationEmitter)
Создание прокси для Standard MBean в локальном или удалённом сервере MBean, который может также поддерживать методы NotificationEmitter.
static <T> T newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass)
Создание прокси для MXBean в локальном или удалённом сервере MBean.
static <T> T newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationEmitter)
Создание прокси для MXBean в локальном или удалённом сервере MBean, который может также поддерживать методы NotificationEmitter.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

DEFAULT_VALUE_FIELD

public static final String DEFAULT_VALUE_FIELD
Имя поля defaultValue.
См. также:
  • Значения константных полей

IMMUTABLE_INFO_FIELD

public static final String IMMUTABLE_INFO_FIELD
Имя поля immutableInfo.
См. также:
  • Значения константных полей

INTERFACE_CLASS_NAME_FIELD

public static final String INTERFACE_CLASS_NAME_FIELD
Имя поля interfaceClassName.
См. также:
  • Значения константных полей

LEGAL_VALUES_FIELD

public static final String LEGAL_VALUES_FIELD
Имя поля legalValues.
См. также:
  • Значения константных полей

MAX_VALUE_FIELD

public static final String MAX_VALUE_FIELD
Имя поля maxValue.
См. также:
  • Значения константных полей

MIN_VALUE_FIELD

public static final String MIN_VALUE_FIELD
Имя поля minValue.
См. также:
  • Значения константных полей

MXBEAN_FIELD

public static final String MXBEAN_FIELD
Имя поля mxbean.
См. также:
  • Значения константных полей

OPEN_TYPE_FIELD

public static final String OPEN_TYPE_FIELD
Имя поля openType.
См. также:
  • Значения константных полей

ORIGINAL_TYPE_FIELD

public static final String ORIGINAL_TYPE_FIELD
Имя поля originalType.
См. также:
  • Значения константных полей

Подробное описание методов

newMBeanProxy

public static <T> T newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass)

Создание прокси для стандартного MBean в локальном или удалённом сервере MBean.

Если у вас есть сервер MBean mbs, содержащий MBean с ObjectName name, и если интерфейс управления MBean описывается Java-интерфейсом MyMBean, вы можете создать прокси для MBean следующим образом:

 MyMBean proxy = JMX.newMBeanProxy(mbs, name, MyMBean.class);
 

Предположим, например, MyMBean выглядит так:

 public interface MyMBean {
     public String getSomeAttribute();
     public void setSomeAttribute(String value);
     public void someOperation(String param1, int param2);
 }
 

Тогда вы можете выполнить:

  • proxy.getSomeAttribute(), что приведёт к вызову mbs.getAttribute(name, "SomeAttribute").
  • proxy.setSomeAttribute("whatever"), что приведёт к вызову mbs.setAttribute(name, new Attribute("SomeAttribute", "whatever")).
  • proxy.someOperation("param1", 2), что будет переведено в вызов mbs.invoke(name, "someOperation", <etc>).

Объект, возвращаемый этим методом, является Proxy, чей InvocationHandler — MBeanServerInvocationHandler.

Этот метод эквивалентен newMBeanProxy(connection, objectName, interfaceClass, false).

Параметры типа:
T — позволяет компилятору знать, что если параметр interfaceClass равен, например, MyMBean.class, то возвращаемый тип — MyMBean.
Параметры:
connection — сервер MBean, к которому следует обратиться.
objectName — имя MBean в connection, к которому следует обратиться.
interfaceClass — интерфейс управления, который экспортирует MBean, который также будет реализован возвращаемым прокси.
Возвращает:
новый экземпляр прокси.
Исключения:
IllegalArgumentException — если interfaceClass не является совместимым с интерфейсом MBean

newMBeanProxy

public static <T> T newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationEmitter)

Создание прокси для стандартного MBean в локальном или удалённом сервере MBean, который также может поддерживать методы NotificationEmitter.

Этот метод работает так же, как newMBeanProxy(MBeanServerConnection, ObjectName, Class), но дополнительно, если notificationEmitter — true, то MBean предполагается NotificationBroadcaster или NotificationEmitter, а возвращаемый прокси будет реализовывать NotificationEmitter наряду с interfaceClass. Вызов NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) на прокси приведёт к вызову MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object), и аналогично для других методов NotificationBroadcaster и NotificationEmitter.

Параметры типа:
T — позволяет компилятору знать, что если параметр interfaceClass равен, например, MyMBean.class, то возвращаемый тип — MyMBean.
Параметры:
connection — сервер MBean, к которому следует обратиться.
objectName — имя MBean в connection, к которому следует обратиться.
interfaceClass — интерфейс управления, который экспортирует MBean, который также будет реализован возвращаемым прокси.
notificationEmitter — сделать возвращаемый прокси реализующим NotificationEmitter путём перенаправления его методов через connection.
Возвращает:
новый экземпляр прокси.
Исключения:
IllegalArgumentException — если interfaceClass не является совместимым с интерфейсом MBean

newMXBeanProxy

public static <T> T newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass)
Создайте прокси для MXBean в локальном или удалённом сервере MBean.

Если у вас есть сервер MBean mbs, содержащий MXBean с ObjectName name, и если интерфейс управления MXBean описывается Java-интерфейсом MyMXBean, вы можете создать прокси для MXBean следующим образом:

 MyMXBean proxy = JMX.newMXBeanProxy(mbs, name, MyMXBean.class);
 

Предположим, например, MyMXBean выглядит так:

 public interface MyMXBean {
     public String getSimpleAttribute();
     public void setSimpleAttribute(String value);
     public MemoryUsage getMappedAttribute();
     public void setMappedAttribute(MemoryUsage memoryUsage);
     public MemoryUsage someOperation(String param1, MemoryUsage param2);
 }
 

Тогда:

  • proxy.getSimpleAttribute() приведёт к вызову mbs.getAttribute(name, "SimpleAttribute").

  • proxy.setSimpleAttribute("whatever") приведёт к вызову mbs.setAttribute(name, new Attribute("SimpleAttribute", "whatever")).

    Поскольку String является простым типом в смысле SimpleType, он не изменяется в контексте MXBean. Прокси MXBean ведёт себя так же, как прокси Standard MBean (см. newMBeanProxy) для атрибута SimpleAttribute.

  • proxy.getMappedAttribute() приведёт к вызову mbs.getAttribute("MappedAttribute"). Правила сопоставления MXBean означают, что фактический тип атрибута MappedAttribute будет CompositeData, и именно это значение вернёт вызов mbs.getAttribute. Затем прокси преобразует CompositeData обратно в ожидаемый тип MemoryUsage, используя правила сопоставления MXBean.

  • Аналогично, proxy.setMappedAttribute(memoryUsage) преобразует аргумент MemoryUsage в CompositeData перед вызовом mbs.setAttribute.

  • proxy.someOperation("whatever", memoryUsage) преобразует аргумент MemoryUsage в CompositeData и вызовет mbs.invoke. Возвращаемое значение mbs.invoke также будет CompositeData, и прокси преобразует его в ожидаемый тип MemoryUsage, используя правила сопоставления MXBean.

Объект, возвращаемый этим методом, является Proxy, чей InvocationHandler является MBeanServerInvocationHandler.

Этот метод эквивалентен newMXBeanProxy(connection, objectName, interfaceClass, false).

Type Parameters:
T — позволяет компилятору понять, что если параметр interfaceClass равен, например, MyMXBean.class, то возвращаемый тип — MyMXBean.
Parameters:
connection — сервер MBean, к которому следует передать запрос.
objectName — имя MBean внутри connection, к которому следует передать запрос.
interfaceClass — интерфейс MXBean, который также будет реализован возвращаемым прокси.
Returns:
новый экземпляр прокси.
Throws:
IllegalArgumentException — если interfaceClass не является аннотацией compliant MXBean interface

newMXBeanProxy

public static <T> T newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationEmitter)

Создайте прокси для MXBean в локальном или удалённом сервере MBean, который также может поддерживать методы NotificationEmitter.

Этот метод работает так же, как newMXBeanProxy(MBeanServerConnection, ObjectName, Class), но дополнительно, если notificationEmitter равно true, то предполагается, что MXBean является NotificationBroadcaster или NotificationEmitter, и возвращаемый прокси будет реализовывать NotificationEmitter, а также interfaceClass. Вызов NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) на прокси приведет к вызову MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object), и то же самое относится к другим методам NotificationBroadcaster и NotificationEmitter.

Type Parameters:
T — позволяет компилятору понять, что если параметр interfaceClass равен, например, MyMXBean.class, то возвращаемый тип — MyMXBean.
Parameters:
connection — сервер MBean, к которому следует передать запрос.
objectName — имя MBean внутри connection, к которому следует передать запрос.
interfaceClass — интерфейс MXBean, который также будет реализован возвращаемым прокси.
notificationEmitter — сделать возвращаемый прокси реализующим NotificationEmitter путём переадресации его методов через connection.
Returns:
новый экземпляр прокси.
Throws:
IllegalArgumentException — если interfaceClass не является аннотацией compliant MXBean interface

isMXBeanInterface

public static boolean isMXBeanInterface(Class<?> interfaceClass)

Проверить, является ли интерфейс интерфейсом MXBean. Интерфейс является интерфейсом MXBean, если он общедоступный, аннотирован @MXBean или @MXBean(true) или если у него нет аннотации @MXBean, и его имя заканчивается на "MXBean".

Parameters:
interfaceClass — проверяемый интерфейс.
Returns:
true, если interfaceClass является аннотацией compliant MXBean interface
Throws:
NullPointerException — если interfaceClass равно null.

© 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/java.management/javax/management/JMX.html

Spec-Zone.ru

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