Spec-Zone .ru
спецификации, руководства, описания, API
|
См.: Описание
Интерфейс | Описание |
---|---|
BufferPoolMXBean | |
ClassLoadingMXBean |
Интерфейс управления для системы загрузки класса виртуальной машины Java.
|
CompilationMXBean |
Интерфейс управления для системы компиляции виртуальной машины Java.
|
GarbageCollectorMXBean |
Интерфейс управления для сборки "мусора" виртуальной машины Java.
|
MemoryManagerMXBean |
Интерфейс управления для распределителя памяти.
|
MemoryMXBean |
Интерфейс управления для системы памяти виртуальной машины Java.
|
MemoryPoolMXBean |
Интерфейс управления для пула памяти.
|
OperatingSystemMXBean |
Интерфейс управления для операционной системы, на которой работает виртуальная машина Java.
|
PlatformLoggingMXBean |
Интерфейс управления для средства журналирования.
|
PlatformManagedObject |
Управляемый объект платформы является JMX MXBean для контроля и управления компонентом в платформе Java.
|
RuntimeMXBean |
Интерфейс управления для системы времени выполнения виртуальной машины Java.
|
ThreadMXBean |
Интерфейс управления для системы потока виртуальной машины Java.
|
Класс | Описание |
---|---|
LockInfo |
Информация о блокировке.
|
ManagementFactory |
ManagementFactory класс является классом фабрики для того, чтобы получить управляемые бобы для платформы Java. |
ManagementPermission |
Разрешение, которое проверит SecurityManager, когда код, который работает с SecurityManager, вызывает методы, определенные в интерфейсе управления для платформы Java.
|
MemoryNotificationInfo |
Информация об уведомлении о памяти.
|
MemoryUsage |
Объект MemoryUsage представляет снимок использования памяти.
|
MonitorInfo |
Информация об объектной блокировке монитора.
|
ThreadInfo |
Информация о потоке.
|
Перечисление | Описание |
---|---|
MemoryType |
Типы
memory pools . |
MXBean платформы является управляемым бобом, который соответствует Спецификации Инструментария JMX и только использует ряд типов исходных данных. Каждая платформа MXBean является a PlatformManagedObject
с уникальным именем.
ManagementFactory
класс является классом фабрики управления для платформы Java. Этот класс обеспечивает ряд статических методов фабрики, чтобы получить MXBeans для платформы Java, чтобы позволить приложению получать доступ к MXBeans непосредственно.
К платформе MBeanServer можно получить доступ с getPlatformMBeanServer
метод. На первом звонке в этот метод это создает платформу MBeanServer и регистрирует всю платформу MXBeans включая платформу MXBeans. Каждая платформа MXBean регистрируется в уникальном имени, определенном в спецификации интерфейса управления. Это - единственный MBeanServer, который может быть совместно использован различными управляемыми компонентами, работающими в пределах той же самой виртуальной машины Java.
Приложение управления и платформа MBeanServer рабочей виртуальной машины могут взаимодействовать, не требуя классов, используемых платформой интерфейсы MXBean. Типы данных, передаваемые между сервером соединителя JMX и клиентом соединителя, являются JMX открытые типы, и это позволяет взаимодействие через версии. Тип данных, используемый интерфейсами MXBean, отображается на открытый тип, будучи полученным доступ через интерфейс MBeanServer. См. спецификацию MXBean для деталей.
Приложение может контролировать инструментарий виртуальной машины Java и время выполнения следующими способами:
1. Прямой доступ к интерфейсу MXBean
RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean(); // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor();
Или вызывая getPlatformMXBean
или getPlatformMXBeans
метод:
RuntimeMXBean mxbean = ManagementFactory.getPlatformMXBean(RuntimeMXBean.class); // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor();
MBeanServerConnection mbs;
// Connect to a running JVM (or itself) and get MBeanServerConnection
// that has the JVM MBeans registered in it
...
// Get a MBean proxy for RuntimeMXBean interface
RuntimeMXBean proxy =
ManagementFactory.getPlatformMXBean
(mbs,
RuntimeMXBean.class);
// Get standard attribute "VmVendor"
String vendor = proxy.getVmVendor();
Прокси обычно используется, чтобы получить доступ к MXBean в удаленной виртуальной машине Java. Альтернативный способ создать прокси MXBean:
RuntimeMXBean proxy =
ManagementFactory.newPlatformMXBeanProxy
(mbs,
ManagementFactory.RUNTIME_MXBEAN_NAME,
RuntimeMXBean.class);
2. Косвенный доступ к MXBean взаимодействует через интерфейс через MBeanServer
platform MBeanServer
к доступу MXBeans локально или определенное MBeanServerConnection
к доступу MXBeans удаленно. Атрибуты и операции MXBean используют только JMX открытые типы, которые включают типы исходных данных, CompositeData
, и TabularData
определенный в OpenType
.
MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ... try { // Assuming the RuntimeMXBean has been registered in mbs ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME); // Get standard attribute "VmVendor" String vendor = (String) mbs.getAttribute(oname, "VmVendor"); } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer.getAttribute method ... }
Реализация виртуальной машины Java может добавить свое расширение платформы интерфейса управления, определяя зависимые от платформы интерфейсы, которые расширяют стандартные интерфейсы управления, чтобы включать специфичные для платформы метрики и операции управления. Статические методы фабрики в классе ManagementFactory возвратят MXBeans с расширением платформы.
Рекомендуется назвать специфичные для платформы атрибуты со специфичным для поставщика префиксом, такие как имя поставщика, чтобы избежать коллизий названия атрибута между будущим расширением стандартного интерфейса управления и расширением платформы. Если будущее расширение стандартного интерфейса управления определяет новый атрибут для интерфейса управления, и название атрибута происходится, чтобы быть тем же самым как имя некоторого специфичного для поставщика атрибута, приложения, получающие доступ, что специфичный для поставщика атрибут должен был бы быть изменен, чтобы справиться с управлением версиями и проблемами совместимости.
Ниже пример, показывающий, как получить доступ к атрибуту от расширения платформы:
1) Прямой доступ к специфичному для Oracle интерфейсу MXBean
List<com.sun.management.GarbageCollectorMXBean> mxbeans = ManagementFactory.getPlatformMXBeans(com.sun.management.GarbageCollectorMXBean.class); for (com.sun.management.GarbageCollectorMXBean gc : mxbeans) { // Get the standard attribute "CollectionCount" String count = mxbean.getCollectionCount(); // Get the platform-specific attribute "LastGcInfo" GcInfo gcinfo = gc.getLastGcInfo(); ... }
2) Получите доступ к специфичному для Oracle интерфейсу MXBean через MBeanServer через прокси
MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ... List<com.sun.management.GarbageCollectorMXBean> mxbeans = ManagementFactory.getPlatformMXBeans(mbs, com.sun.management.GarbageCollectorMXBean.class); for (com.sun.management.GarbageCollectorMXBean gc : mxbeans) { // Get the standard attribute "CollectionCount" String count = mxbean.getCollectionCount(); // Get the platform-specific attribute "LastGcInfo" GcInfo gcinfo = gc.getLastGcInfo(); ... }
Если не указано иное, передача параметра null конструктору или методу в любом классе или интерфейсу в этом пакете вызовет a NullPointerException
быть брошенным.
java.lang.management API ориентирован на многопотоковое исполнение.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.