Spec-Zone .ru
спецификации, руководства, описания, API
|
public class ManagementFactory extends Object
ManagementFactory
класс является классом фабрики для того, чтобы получить управляемые бобы для платформы Java. Этот класс состоит из статических методов, каждый из которых возвращает одну или более платформ MXBeans представление интерфейса управления компонента виртуальной машины Java.
MXBean платформы является управляемым бобом, который соответствует Спецификации Инструментария JMX и только использует ряд типов исходных данных. Приложение управления JMX и платформа MBeanServer могут взаимодействовать, не требуя классов для определенных типов данных MXBean. Типы данных, передаваемые между сервером соединителя JMX и клиентом соединителя, являются открытыми типами, и это позволяет взаимодействие через версии. См. спецификацию MXBeans для деталей.
Каждая платформа MXBean является a PlatformManagedObject
и у этого есть уникальное ObjectName
для регистрации в платформе MBeanServer
как возвращено getObjectName
метод.
Приложение может получить доступ к платформе MXBean следующими способами:
- Получите экземпляр MXBean, вызывая
getPlatformMXBean
илиgetPlatformMXBeans
метод и доступ MXBean локально в рабочей виртуальной машине.- Создайте экземпляр прокси MXBean что вперед вызовы метода данного
MBeanServer
вызываяgetPlatformMXBean(MBeanServerConnection, Class)
илиgetPlatformMXBeans(MBeanServerConnection, Class)
метод.newPlatformMXBeanProxy
метод может также использоваться, чтобы создать экземпляр прокси MXBean данногоObjectName
. Прокси обычно создается к, удаленно получают доступ к MXBean другой рабочей виртуальной машины.2. Косвенный доступ к MXBean взаимодействует через интерфейс через MBeanServer
- Пройдите через платформу
MBeanServer
к доступу MXBeans локально или определенный MBeanServerConnection к доступу MXBeans удаленно. Атрибуты и операции MXBean используют только JMX открытые типы, которые включают типы исходных данных,CompositeData
, иTabularData
определенный вOpenType
. Отображение определяется в спецификации MXBean для деталей.
getPlatformManagementInterfaces
метод возвращает все интерфейсы управления, поддерживаемые в виртуальной машине Java включая стандартные интерфейсы управления, перечисленные в таблицах ниже так же как интерфейсах управления, расширенных реализацией JDK.
У виртуальной машины Java есть единственный экземпляр следующих интерфейсов управления:
У виртуальной машины Java есть нуль или единственный экземпляр следующих интерфейсов управления.
Интерфейс управления ObjectName CompilationMXBean
java.lang:type=Compilation
У виртуальной машины Java могут быть один или более экземпляров следующих интерфейсов управления.
Интерфейс управления ObjectName GarbageCollectorMXBean
java.lang:type=GarbageCollector
Имя коллектора ,name=MemoryManagerMXBean
java.lang:type=MemoryManager
Имя менеджера по ,name=MemoryPoolMXBean
java.lang:type=MemoryPool
Имя пула ,name=BufferPoolMXBean
java.nio:type=BufferPool,name=
имя пула
MXBean
Модификатор и Тип | Поле и Описание |
---|---|
static String |
CLASS_LOADING_MXBEAN_NAME
Строковое представление ObjectName для
ClassLoadingMXBean . |
static String |
COMPILATION_MXBEAN_NAME
Строковое представление ObjectName для
CompilationMXBean . |
static String |
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
Доменное имя и тип манипулируют свойство в ObjectName для a
GarbageCollectorMXBean . |
static String |
MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
Доменное имя и тип манипулируют свойство в ObjectName для a
MemoryManagerMXBean . |
static String |
MEMORY_MXBEAN_NAME
Строковое представление ObjectName для
MemoryMXBean . |
static String |
MEMORY_POOL_MXBEAN_DOMAIN_TYPE
Доменное имя и тип манипулируют свойство в ObjectName для a
MemoryPoolMXBean . |
static String |
OPERATING_SYSTEM_MXBEAN_NAME
Строковое представление ObjectName для
OperatingSystemMXBean . |
static String |
RUNTIME_MXBEAN_NAME
Строковое представление ObjectName для
RuntimeMXBean . |
static String |
THREAD_MXBEAN_NAME
Строковое представление ObjectName для
ThreadMXBean . |
Модификатор и Тип | Метод и Описание |
---|---|
static ClassLoadingMXBean |
getClassLoadingMXBean()
Возвращает управляемый боб для системы загрузки класса виртуальной машины Java.
|
static CompilationMXBean |
getCompilationMXBean()
Возвращает управляемый боб для системы компиляции виртуальной машины Java.
|
static List<GarbageCollectorMXBean> |
getGarbageCollectorMXBeans()
Возвращает список
GarbageCollectorMXBean объекты в виртуальной машине Java. |
static List<MemoryManagerMXBean> |
getMemoryManagerMXBeans()
Возвращает список
MemoryManagerMXBean объекты в виртуальной машине Java. |
static MemoryMXBean |
getMemoryMXBean()
Возвращает управляемый боб для системы памяти виртуальной машины Java.
|
static List<MemoryPoolMXBean> |
getMemoryPoolMXBeans()
Возвращает список
MemoryPoolMXBean объекты в виртуальной машине Java. |
static OperatingSystemMXBean |
getOperatingSystemMXBean()
Возвращает управляемый боб для операционной системы, на которой работает виртуальная машина Java.
|
static Set<Class<? extends PlatformManagedObject>> |
getPlatformManagementInterfaces()
Возвращает набор
Class объекты, подынтерфейс PlatformManagedObject , представление всех интерфейсов управления для контроля и управления платформой Java. |
static MBeanServer |
getPlatformMBeanServer()
Возвращает платформу
MBeanServer . |
static <T extends PlatformManagedObject> |
getPlatformMXBean(Class<T> mxbeanInterface)
Возвращает платформу MXBean реализация данного
mxbeanInterface который определяется, чтобы иметь один единственный экземпляр в виртуальной машине Java. |
static <T extends PlatformManagedObject> |
getPlatformMXBean(MBeanServerConnection connection, Class<T> mxbeanInterface)
Возвращает платформу прокси MXBean для
mxbeanInterface который определяется, чтобы иметь один единственный экземпляр в виртуальной машине Java, и прокси передаст вызовы метода через данный MBeanServerConnection . |
static <T extends PlatformManagedObject> |
getPlatformMXBeans(Class<T> mxbeanInterface)
Возвращает список платформы MXBeans реализация данного
mxbeanInterface в виртуальной машине Java. |
static <T extends PlatformManagedObject> |
getPlatformMXBeans(MBeanServerConnection connection, Class<T> mxbeanInterface)
Возвращает список платформы прокси MXBean для того, чтобы передать вызовы метода
mxbeanInterface через данный MBeanServerConnection . |
static RuntimeMXBean |
getRuntimeMXBean()
Возвращает управляемый боб для системы времени выполнения виртуальной машины Java.
|
static ThreadMXBean |
getThreadMXBean()
Возвращает управляемый боб для системы потока виртуальной машины Java.
|
static <T> T |
newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface)
Возвращает прокси для платформы интерфейс MXBean данного имени MXBean что вперед его вызовы метода через данный MBeanServerConnection.
|
public static final String CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean
.public static final String COMPILATION_MXBEAN_NAME
CompilationMXBean
.public static final String MEMORY_MXBEAN_NAME
MemoryMXBean
.public static final String OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean
.public static final String RUNTIME_MXBEAN_NAME
RuntimeMXBean
.public static final String THREAD_MXBEAN_NAME
ThreadMXBean
.public static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
GarbageCollectorMXBean
. Уникальный ObjectName для GarbageCollectorMXBean может быть сформирован, добавляя эту строку с "именем коллектора ,name=".public static final String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
MemoryManagerMXBean
. Уникальный ObjectName для MemoryManagerMXBean может быть сформирован, добавляя эту строку с "именем менеджера по ,name=".public static final String MEMORY_POOL_MXBEAN_DOMAIN_TYPE
MemoryPoolMXBean
. Уникальный ObjectName для MemoryPoolMXBean может быть сформирован, добавляя эту строку с именем пула ,name=.public static ClassLoadingMXBean getClassLoadingMXBean()
ClassLoadingMXBean
объект для виртуальной машины Java.public static MemoryMXBean getMemoryMXBean()
MemoryMXBean
объект для виртуальной машины Java.public static ThreadMXBean getThreadMXBean()
ThreadMXBean
объект для виртуальной машины Java.public static RuntimeMXBean getRuntimeMXBean()
RuntimeMXBean
объект для виртуальной машины Java.public static CompilationMXBean getCompilationMXBean()
CompilationMXBean
объект для виртуальной машины Java или null, если у виртуальной машины Java нет никакой системы компиляции.public static OperatingSystemMXBean getOperatingSystemMXBean()
OperatingSystemMXBean
объект для виртуальной машины Java.public static List<MemoryPoolMXBean> getMemoryPoolMXBeans()
MemoryPoolMXBean
объекты в виртуальной машине Java. У виртуальной машины Java могут быть один или более пулов памяти. Это может добавить или удалить пулы памяти во время выполнения.public static List<MemoryManagerMXBean> getMemoryManagerMXBeans()
MemoryManagerMXBean
объекты в виртуальной машине Java. У виртуальной машины Java могут быть один или более распределителей памяти. Это может добавить или удалить распределители памяти во время выполнения.public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans()
GarbageCollectorMXBean
объекты в виртуальной машине Java. У виртуальной машины Java могут быть один или более объектов GarbageCollectorMXBean. Это может добавить или удалить GarbageCollectorMXBean во время выполнения.public static MBeanServer getPlatformMBeanServer()
MBeanServer
. На первом звонке в этот метод это сначала создает платформу MBeanServer
вызывая MBeanServerFactory.createMBeanServer
метод и регистры каждая платформа MXBean в этой платформе MBeanServer
с ObjectName
. Этот метод, в последующих вызовах, просто возвратит первоначально создаваемую платформу MBeanServer
. MXBeans, который создается и уничтожал динамически, например, память pools
и managers
, будет автоматически зарегистрирован и вычеркнут из списка в платформу MBeanServer
.
Если системное свойство javax.management.builder.initial
устанавливается, платформа MBeanServer
создание будет сделано указанным MBeanServerBuilder
.
Рекомендуется, чтобы эта платформа MBeanServer также использовалась, чтобы зарегистрировать другое приложение управляемые бобы помимо платформы MXBeans. Это позволит всему MBeans быть опубликованным через то же самое MBeanServer
и следовательно учтите более легкую сетевую публикацию и открытие. Конфликтов имен с платформой MXBeans нужно избежать.
MBeanServer
; платформа MXBeans регистрируется в платформу MBeanServer
в первый раз вызывают этот метод.SecurityException
- если есть менеджер безопасности, и вызывающей стороне не требовали разрешения MBeanServerFactory.createMBeanServer()
.MBeanServerFactory
, MBeanServerFactory.createMBeanServer()
public static <T> T newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface) throws IOException
Этот метод эквивалентен:
Proxy.newProxyInstance
(mxbeanInterface.getClassLoader(), new Class[] { mxbeanInterface }, handler)
где handler InvocationHandler
которому вызовы метода к интерфейсу MXBean диспетчеризируются. Этот handler преобразовывает входной параметр от типа данных MXBean до его отображенного открытого типа прежде, чем передать MBeanServer и преобразовывает возвращаемое значение от вызова метода MXBean до MBeanServer от открытого типа до соответствующего типа возврата, объявленного в интерфейсе MXBean. Если MXBean является эмиттером уведомления (то есть, он реализует NotificationEmitter
), и mxbeanInterface и NotificationEmitter будут реализованы этим прокси.
Примечания:
IOException
может быть брошен, когда проблема коммуникации происходит с сервером соединителя. Приложение удаленно получает доступ к платформе, MXBeans, использующий прокси, должен подготовиться ловить IOException, как будто получая доступ с интерфейсом MBeanServerConnector.InvalidObjectException
который бросается, когда прокси MXBean получает имя перечислимой константы, которая отсутствует в классе Enum, загруженном в клиентском приложении. MBeanServerInvocationHandler
или newProxyInstance
метод не может использоваться, чтобы создать прокси для платформы MXBean. Объект прокси, создаваемый MBeanServerInvocationHandler, не обрабатывает свойства платформы MXBeans, описанный в спецификации класса. connection
- MBeanServerConnection, чтобы передать.mxbeanName
- имя платформы MXBean в пределах connection, чтобы передать. mxbeanName должен быть в формате ObjectName
.mxbeanInterface
- MXBean взаимодействуют через интерфейс, чтобы быть реализованными прокси.IllegalArgumentException
- если ObjectName
формат, илиIOException
- если проблема коммуникации произошла, получая доступ к MBeanServerConnection.public static <T extends PlatformManagedObject> T getPlatformMXBean(Class<T> mxbeanInterface)
mxbeanInterface
который определяется, чтобы иметь один единственный экземпляр в виртуальной машине Java. Этот метод может возвратиться null
если интерфейс управления не реализуется в виртуальной машине Java (например, виртуальная машина Java без системы компиляции не реализует CompilationMXBean
); иначе, этот метод эквивалентен вызову:
getPlatformMXBeans(mxbeanInterface)
.get(0);
mxbeanInterface
- интерфейс управления для платформы MXBean с одним единственным экземпляром в виртуальной машине Java если реализовано.mxbeanInterface
, или null
если не существуют.IllegalArgumentException
- если mxbeanInterface
не интерфейс управления платформы или не одноэлементная платформа MXBean.public static <T extends PlatformManagedObject> Список<T> getPlatformMXBeans(Class<T> mxbeanInterface)
mxbeanInterface
в виртуальной машине Java. Возвращенный список может содержать нуль, один, или больше экземпляров. Число экземпляров в возвращенном списке определяется в спецификации данного интерфейса управления. Порядок неопределен и нет никакой гарантии, что возвращенный список находится в том же самом порядке как предыдущие вызовы.mxbeanInterface
- интерфейс управления для платформы MXBeanmxbeanInterface
.IllegalArgumentException
- если mxbeanInterface
не интерфейс управления платформы.public static <T extends PlatformManagedObject> T getPlatformMXBean(MBeanServerConnection connection, Class<T> mxbeanInterface) throws IOException
mxbeanInterface
который определяется, чтобы иметь один единственный экземпляр в виртуальной машине Java, и прокси передаст вызовы метода через данный MBeanServerConnection
. Этот метод может возвратиться null
если интерфейс управления не реализуется в контролируемой виртуальной машине Java (например, виртуальная машина Java без системы компиляции не реализует CompilationMXBean
); иначе, этот метод эквивалентен вызову:
getPlatformMXBeans(connection, mxbeanInterface)
.get(0);
connection
- MBeanServerConnection
передать.mxbeanInterface
- интерфейс управления для платформы MXBean с одним единственным экземпляром в контролируемой виртуальной машине Java, если реализовано.mxbeanInterface
через данный MBeanServerConnection
, или null
если не существуют.IllegalArgumentException
- если mxbeanInterface
не интерфейс управления платформы или не одноэлементная платформа MXBean.IOException
- если проблема коммуникации произошла, получая доступ MBeanServerConnection
.newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
public static <T extends PlatformManagedObject> Список<T> getPlatformMXBeans(MBeanServerConnection connection, Class<T> mxbeanInterface) throws IOException
mxbeanInterface
через данный MBeanServerConnection
. Возвращенный список может содержать нуль, один, или больше экземпляров. Число экземпляров в возвращенном списке определяется в спецификации данного интерфейса управления. Порядок неопределен и нет никакой гарантии, что возвращенный список находится в том же самом порядке как предыдущие вызовы.connection
- MBeanServerConnection
передать.mxbeanInterface
- интерфейс управления для платформы MXBeanmxbeanInterface
через данный MBeanServerConnection
.IllegalArgumentException
- если mxbeanInterface
не интерфейс управления платформы.IOException
- если проблема коммуникации произошла, получая доступ MBeanServerConnection
.newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
public static Set<Class<? extends PlatformManagedObject>> getPlatformManagementInterfaces()
Class
объекты, подынтерфейс PlatformManagedObject
, представление всех интерфейсов управления для контроля и управления платформой Java.Class
объекты, подынтерфейс PlatformManagedObject
представление интерфейсов управления для контроля и управления платформой Java.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.