|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class JMX extends Object
| Модификатор и Тип | Поле и Описание |
|---|---|
static String |
DEFAULT_VALUE_FIELD
Имя
defaultValue поле. |
static String |
IMMUTABLE_INFO_FIELD
Имя
immutableInfo поле. |
static String |
INTERFACE_CLASS_NAME_FIELD
Имя
interfaceClassName поле. |
static String |
LEGAL_VALUES_FIELD
Имя
legalValues поле. |
static String |
MAX_VALUE_FIELD
Имя
maxValue поле. |
static String |
MIN_VALUE_FIELD
Имя
minValue поле. |
static String |
MXBEAN_FIELD
Имя
mxbean поле. |
static String |
OPEN_TYPE_FIELD
Имя
openType поле. |
static String |
ORIGINAL_TYPE_FIELD
Имя
originalType поле. |
| Модификатор и Тип | Метод и Описание |
|---|---|
static boolean |
isMXBeanInterface(Class<?> interfaceClass)
Тест, является ли интерфейс интерфейсом MXBean.
|
static <T> T |
newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass)
Сделайте прокси для Стандартного MBean в локальной переменной или отдалите Сервер MBean.
|
static <T> T |
newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationEmitter)
Сделайте прокси для Стандартного 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. |
public static final String DEFAULT_VALUE_FIELD
defaultValue поле.public static final String IMMUTABLE_INFO_FIELD
immutableInfo поле.public static final String INTERFACE_CLASS_NAME_FIELD
interfaceClassName поле.public static final String LEGAL_VALUES_FIELD
legalValues поле.public static final String MAX_VALUE_FIELD
maxValue поле.public static final String MIN_VALUE_FIELD
minValue поле.public static final String MXBEAN_FIELD
mxbean поле.public static final String OPEN_TYPE_FIELD
openType поле.public static final String ORIGINAL_TYPE_FIELD
originalType поле.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>). Объект, возвращенный этим методом, является a Proxy чей InvocationHandler MBeanServerInvocationHandler.
Этот метод эквивалентен newMBeanProxy(connection, objectName, interfaceClass, false).
T - позволяет компилятору знать это если interfaceClass параметр MyMBean.class, например, тогда тип возврата MyMBean.connection - сервер MBean, чтобы передать.objectName - имя MBean в пределах connection передать.interfaceClass - интерфейс управления, который экспортирует MBean, который будет также реализован возвращенным прокси.public static <T> T newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationEmitter)
Сделайте прокси для Стандартного MBean в локальной переменной или отдалите Сервер MBean, который может также поддерживать методы NotificationEmitter.
Этот метод ведет себя то же самое как newMBeanProxy(MBeanServerConnection, ObjectName, Class), но дополнительно, если notificationEmitter true, тогда MBean, как предполагается, является a 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.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 ведет себя то же самое как Стандартный прокси MBean (см. newMBeanProxy) для атрибута SimpleAttribute.
proxy.getMappedAttribute() приведет к звонку mbs.getAttribute("MappedAttribute"). MXBean отображающиеся правила означают что фактический тип атрибута MappedAttribute будет CompositeData и именно это mbs.getAttribute вызов возвратится. Прокси тогда преобразует CompositeData назад в ожидаемый тип MemoryUsage использование MXBean отображающиеся правила.
Точно так же proxy.setMappedAttribute(memoryUsage) преобразует MemoryUsage параметр в a CompositeData перед вызовом mbs.setAttribute.
proxy.someOperation("whatever", memoryUsage) преобразует MemoryUsage параметр в a CompositeData и вызовите mbs.invoke. Значение, возвращенное mbs.invoke будет также быть a CompositeData, и прокси преобразует это в ожидаемый тип MemoryUsage использование MXBean отображающиеся правила.
Объект, возвращенный этим методом, является a Proxy чей InvocationHandler MBeanServerInvocationHandler.
Этот метод эквивалентен newMXBeanProxy(connection, objectName, interfaceClass, false).
T - позволяет компилятору знать это если interfaceClass параметр MyMXBean.class, например, тогда тип возврата MyMXBean.connection - сервер MBean, чтобы передать.objectName - имя MBean в пределах connection передать.interfaceClass - интерфейс MXBean, который будет также реализован возвращенным прокси.public static <T> T newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationEmitter)
Сделайте прокси для MXBean в локальной переменной или отдалите Сервер MBean, который может также поддерживать методы NotificationEmitter.
Этот метод ведет себя то же самое как newMXBeanProxy(MBeanServerConnection, ObjectName, Class), но дополнительно, если notificationEmitter true, тогда MXBean, как предполагается, является a 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 параметр MyMXBean.class, например, тогда тип возврата MyMXBean.connection - сервер MBean, чтобы передать.objectName - имя MBean в пределах connection передать.interfaceClass - интерфейс MXBean, который будет также реализован возвращенным прокси.notificationEmitter - сделайте возвращенную реализацию прокси NotificationEmitter передавая его методы через connection.public static boolean isMXBeanInterface(Class<?> interfaceClass)
Тест, является ли интерфейс интерфейсом MXBean. Интерфейс является интерфейсом MXBean, если он аннотируется @MXBean или @MXBean(true) или если это не имеет @MXBean аннотация и ее имя заканчиваются"MXBean".
interfaceClass - Интерфейс кандидата.interfaceClass интерфейс и удовлетворяет описанным условиям.NullPointerException - если interfaceClass нуль.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92