|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
참조처:
설명
인터페이스의 개요 | |
---|---|
ClassLoadingMXBean | Java 가상 머신의 클래스 로딩 시스템의 관리 인터페이스입니다. |
CompilationMXBean | Java 가상 머신의 컴파일 시스템의 관리 인터페이스입니다. |
GarbageCollectorMXBean | Java 가상 머신의 가베지 컬렉션의 관리 인터페이스입니다. |
MemoryManagerMXBean | 메모리 매니저의 관리 인터페이스. |
MemoryMXBean | Java 가상 머신의 메모리 시스템의 관리 인터페이스입니다. |
MemoryPoolMXBean | 메모리 풀의 관리 인터페이스입니다. |
OperatingSystemMXBean | Java 가상 머신을 실행하고 있는 operating system의 관리 인터페이스를 돌려줍니다. |
RuntimeMXBean | Java 가상 머신의 실행시 시스템의 관리 인터페이스입니다. |
ThreadMXBean | Java 가상 머신의 thread 시스템의 관리 인터페이스입니다. |
클래스의 개요 | |
---|---|
LockInfo | 락에 관한 정보. |
ManagementFactory | ManagementFactory 클래스는, Java 플랫폼의 관리 대상 Bean 를 취득하기 위한 팩토리 클래스입니다. |
ManagementPermission | SecurityManager 에 의해 실행되는 코드가 Java 플랫폼의 관리 인터페이스로 정의된 메소드를 호출할 때, SecurityManager 가 체크하는 액세스권입니다. |
MemoryNotificationInfo | 메모리 통지에 관한 정보입니다. |
MemoryUsage | MemoryUsage 객체는, 메모리 사용량의 snapshot를 나타냅니다. |
MonitorInfo | 객체의 모니터 락에 관한 정보입니다. |
ThreadInfo | thread 정보입니다. |
열거형의 개요 | |
---|---|
MemoryType | memory pools 의 형태입니다. |
Java 가상 머신의 관리 및 Java 가상 머신이 실행되고 있는 operating system의 관리를 감시하는 관리 인터페이스를 제공합니다. 이 관리 인터페이스를 사용하면(자), 실행하고 있는 Java 가상 머신을 로컬 및 원격에 감시 및 관리할 수 있습니다.
관리 인터페이스
설명
ClassLoadingMXBean
Java 가상 머신의 클래스 로딩 시스템 CompilationMXBean
Java 가상 머신의 컴파일 시스템 MemoryMXBean
Java 가상 머신의 메모리 시스템 ThreadMXBean
Java 가상 머신의 thread 시스템 RuntimeMXBean
Java 가상 머신의 실행시 시스템 OperatingSystemMXBean
Java 가상 머신을 실행하고 있는 operating system GarbageCollectorMXBean
Java 가상 머신의 가비지 컬렉터 MemoryManagerMXBean
Java 가상 머신의 메모리 매니저 MemoryPoolMXBean
Java 가상 머신의 메모리 풀
플랫폼 MXBean 는, 그 플랫폼의 단일의 컴퍼넌트를 위한 관리 인터페이스를 정의하는 「관리 빈」이며,ManagementFactory 클래스에서 지정됩니다.
어플리케이션은 Java 가상 머신의 Instrumentation을 감시해, 다음의 방법으로 특정의 특성을 관리할 수 있습니다.
ManagementFactory.newPlatformMXBeanProxy
를 호출하는 것으로, 지정된 MBeanServer
에 메소드 호출을 전송 하는 MXBean 프록시 인스턴스를 구축한다. 프록시는 일반적으로, 실행중외의 가상 머신의 MXBean 에 원격 접근 하기 위해서 구축된다MBeanServer
인터페이스를 개입시킨 간접 액세스
platform MBeanServer
로 MXBean 에 로컬 액세스 하는지, 또는 특정의 MBeanServerConnection 로 MXBean 에 원격 접근 한다. MXBean 의 속성과 오퍼레이션은,OpenType
에 정의된 기본 데이터형,CompositeData
, 및 TabularData
을 포함한 「JMX 공개형」만을 사용한다
ManagementFactory
클래스는, Java 플랫폼의 관리 팩토리 클래스입니다. 이 클래스는, Java 플랫폼의 MXBean 를 취득하는 일련의 static 팩토리 메소드를 제공해, 어플리케이션으로 MXBean 에 직접 액세스 할 수 있도록(듯이) 합니다.
platform MBeanServer 은 getPlatformMBeanServer
메소드로 액세스 할 수 있습니다. 이 메소드의 1 번째의 호출로, 플랫폼 MBeanServer 를 작성해, @link java.util.logging.LoggingMXBean} 등 그 외의 패키지에 정의되고 있는 플랫폼 MXBean 를 포함한, 모든 플랫폼 MXBean 를 등록합니다. {각 플랫폼 MXBean 는,ObjectName
를 구축하기 위해서 ManagementFactory
클래스에서 정의되고 있는 일의의 이름으로 등록됩니다. 이것은 단일의 MBeanServer 이며, 같은 Java 가상 머신내에서 실행되고 있는 다양한 관리 대상 컴퍼넌트에 의해 공유되는 일이 있습니다.
open types
이며, 이것에 의해 버젼간의 상호 운용이 가능합니다.
MXBean 인터페이스로 사용되는 데이터형은, MBeanServer 인터페이스에 의한 액세스시에, 공개형에 맵 됩니다. 데이터형의 매핑은,ManagementFactory
클래스에서 지정됩니다.
RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean(); // 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 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 ... }
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.newPlatformMXBeanProxy(mbs, ManagementFactory.RUNTIME_MXBEAN_NAME, RuntimeMXBean.class); // Get standard attribute "VmVendor" String vendor = proxy.getVmVendor();
벤더의 이름 등 벤더 고유의 접두사를 사용해 플랫폼 고유의 속성에 이름을 붙여, 표준 관리 인터페이스의 장래의 확장과 이 플랫폼 확장동안에서 속성의 이름의 충돌이 발생하지 않게 하는 것을 추천합니다. 표준 관리 인터페이스에 대한 장래의 확장이, 관리 인터페이스의 새로운 속성을 정의해, 속성명이 벤더 고유의 속성의 이름과 같은 것을 알 수 있었을 경우, 바죠닝과 호환성의 문제에 대처하기 위해서, 벤더 고유의 속성에 액세스 하고 있는 어플리케이션을 변경할 필요가 있습니다.
이하의 예에서는, Sun 의 RuntimeMXBean 의 구현으로부터 플랫폼 고유의 속성에 액세스 하는 방법을 나타내고 있습니다.
1) Sun 고유의 MXBean 인터페이스에의 직접 액세스
com.sun.management.RuntimeMXBean mxbean = (com.sun.management.RuntimeMXBean) ManagementFactory.getRuntimeMXBean(); // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor(); // Get the platform-specific attribute "Bar" BarType bar = mxbean.getBar();
2) Sun 고유의 MXBean 인터페이스에의 MBeanServer 를 개입시킨 액세스
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"); // Check if this MXBean contains Sun's extension if (mbs.isInstanceOf(oname, "com.sun.management.RuntimeMXBean")) { // Get platform-specific attribute "Bar" BarType bar = (String) mbs.getAttribute(oname, "Bar"); } } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer methods ... }
별도 지정된 사항이 없는 경우,null 인수를 생성자 , 또는 이 패키지의 임의의 클래스 또는 인터페이스의 메소드에 건네주면(자) NullPointerException
가 throw 됩니다.
java.lang.management API 는 thread 세이프입니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.