|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.management.ManagementFactory
public class ManagementFactory
ManagementFactory 클래스는, Java 플랫폼의 관리 대상 Bean 를 취득하기 위한 팩토리 클래스입니다. 이 클래스는, Java 가상 머신의 컴퍼넌트의 관리 인터페이스를 나타내는 1 개(살) 이상의플랫폼 MXBean 를 돌려주는 static 메소드로 구성됩니다.
어플리케이션은, 다음의 방법으로 플랫폼 MXBean 에 액세스 할 수 있습니다.
newPlatfromMXBeanProxy
를 호출하는 것으로, 지정된 MBeanServer
에 메소드 호출을 전송 하는 MXBean 프록시 인스턴스를 구축한다. 프록시는 일반적으로, 실행중외의 가상 머신의 MXBean 에 원격 접근 하기 위해서 구축된다
platform MBeanServer
로 MXBean 에 로컬 액세스 하는지, 또는 특정의 MBeanServerConnection 로 MXBean 에 원격 접근 한다. MXBean 의 속성과 오퍼레이션은,OpenType
에 정의된 기본 데이터형,CompositeData
, 및 TabularData
를 포함한 「JMX 공개형」만을 사용하는 매핑은 다음에 나타낸다
플랫폼 MXBean 인터페이스에서는, 다음의 데이터형만이 사용됩니다.
Integer
,Long
,Boolean
,String
등의 원시형의 래퍼 클래스Enum
클래스CompositeData
인수를 사용해, getter 메소드 및 static 메소드만을 정의하는 클래스
List<E>
(E 는 원시형, 래퍼 클래스, 열거 클래스, 또는 CompositeData 로부터 그 클래스에의 변환을 지원하는 클래스)
Map<K, V>
(K 와 V 는 원시형, 래퍼 클래스, 열거 클래스, 또는 CompositeData 로부터 그 클래스에의 변환을 지원하는 클래스)
플랫폼 MXBean 의 속성 또는 오퍼레이션에의 액세스가 MBeanServer 를 개입시켜 행해지는 경우, 데이터형은 다음대로 매핑 됩니다.
Enum
는 열거 정수명을 값으로 해서 가지는 String 에 매핑 된다
CompositeData
인수를 사용해 getter 메소드 및 static 메소드만을 정의하는 클래스는,CompositeData
에 매핑 된다.
CompositeType
라고 하는 행의 형태를 가지는 TabularData
에 매핑 된다. 항목형은 각각 K 와 V 의 대응하는 맵형이며, 「key」가 인덱스가 된다.
MBeanInfo
는, 상기대로 매핑 된 원시형 또는 공개형으로서 속성 및 오퍼레이션의 데이터형을 기술합니다.
예를 들어,MemoryMXBean
인터페이스는, 다음의 getter 메소드와 setter 메소드를 가집니다.
MemoryMXBean 의 MBeanInfo 의 속성은, 다음의 이름과 형태를 가집니다.public MemoryUsage getHeapMemoryUsage(); public boolean isVerbose(); public void setVerbose(boolean value);
속성명 형 HeapMemoryUsage CompositeData representing MemoryUsage
Verbose boolean 형
ObjectName
를 가집니다. Java 가상 머신은 다음의 관리 인터페이스의 단일의 인스턴스를 가집니다.
Java 가상 머신은, 이하의 관리 인터페이스의 인스턴스를 가지지 않는가, 단일의 인스턴스를 가집니다.
관리 인터페이스 ObjectName CompilationMXBean
java.lang:type=Compilation
Java 가상 머신은, 이하의 관리 인터페이스의 인스턴스를 1 개 이상 가질 수가 있습니다.
관리 인터페이스 ObjectName GarbageCollectorMXBean
java.lang:type=GarbageCollector
, name=collector's nameMemoryManagerMXBean
java.lang:type=MemoryManager
, name=manager's nameMemoryPoolMXBean
java.lang:type=MemoryPool
, name=pool's name
LoggingMXBean
,
MXBean
필드의 개요 | |
---|---|
static String |
CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean 의 ObjectName 의 캐릭터 라인 표현입니다. |
static String |
COMPILATION_MXBEAN_NAME
CompilationMXBean 의 ObjectName 의 캐릭터 라인 표현입니다. |
static String |
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
도메인명과 GarbageCollectorMXBean 의 ObjectName 의 형태 키프로파티입니다. |
static String |
MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
도메인명과 MemoryManagerMXBean 의 ObjectName 의 형태 키프로파티입니다. |
static String |
MEMORY_MXBEAN_NAME
MemoryMXBean 의 ObjectName 의 캐릭터 라인 표현입니다. |
static String |
MEMORY_POOL_MXBEAN_DOMAIN_TYPE
도메인명과 MemoryPoolMXBean 의 ObjectName 의 형태 키프로파티입니다. |
static String |
OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean 의 ObjectName 의 캐릭터 라인 표현입니다. |
static String |
RUNTIME_MXBEAN_NAME
RuntimeMXBean 의 ObjectName 의 캐릭터 라인 표현입니다. |
static String |
THREAD_MXBEAN_NAME
ThreadMXBean 의 ObjectName 의 캐릭터 라인 표현입니다. |
메소드의 개요 | ||
---|---|---|
static ClassLoadingMXBean |
getClassLoadingMXBean ()
Java 가상 머신의 클래스 로딩 시스템의 관리 빈을 돌려줍니다. |
|
static CompilationMXBean |
getCompilationMXBean ()
Java 가상 머신의 컴파일 시스템의 관리 빈을 돌려줍니다. |
|
static List <GarbageCollectorMXBean > |
getGarbageCollectorMXBeans ()
Java 가상 머신 GarbageCollectorMXBean 객체의 리스트를 돌려줍니다. |
|
static List <MemoryManagerMXBean > |
getMemoryManagerMXBeans ()
Java 가상 머신 MemoryManagerMXBean 객체의 리스트를 돌려줍니다. |
|
static MemoryMXBean |
getMemoryMXBean ()
Java 가상 머신의 메모리 시스템의 관리 빈을 돌려줍니다. |
|
static List <MemoryPoolMXBean > |
getMemoryPoolMXBeans ()
Java 가상 머신 MemoryPoolMXBean 객체의 리스트를 돌려줍니다. |
|
static OperatingSystemMXBean |
getOperatingSystemMXBean ()
Java 가상 머신을 실행하고 있는 operating system의 관리 빈을 돌려줍니다. |
|
static MBeanServer |
getPlatformMBeanServer ()
플랫폼 MBeanServer 를 돌려줍니다. |
|
static RuntimeMXBean |
getRuntimeMXBean ()
Java 가상 머신의 실행 시스템의 관리 빈을 돌려줍니다. |
|
static ThreadMXBean |
getThreadMXBean ()
Java 가상 머신의 thread 시스템의 관리 빈을 돌려줍니다. |
|
static
|
newPlatformMXBeanProxy (MBeanServerConnection connection,
String mxbeanName,
Class <T> mxbeanInterface)
지정된 MBeanServerConnection 를 개입시켜 메소드 호출을 전송 하는, 지정된 MXBean 명의 플랫폼 MXBean 인터페이스의 프록시를 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
public static final String CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean
의 ObjectName 의 캐릭터 라인 표현입니다.
public static final String COMPILATION_MXBEAN_NAME
CompilationMXBean
의 ObjectName 의 캐릭터 라인 표현입니다.
public static final String MEMORY_MXBEAN_NAME
MemoryMXBean
의 ObjectName 의 캐릭터 라인 표현입니다.
public static final String OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean
의 ObjectName 의 캐릭터 라인 표현입니다.
public static final String RUNTIME_MXBEAN_NAME
RuntimeMXBean
의 ObjectName 의 캐릭터 라인 표현입니다.
public static final String THREAD_MXBEAN_NAME
ThreadMXBean
의 ObjectName 의 캐릭터 라인 표현입니다.
public static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
GarbageCollectorMXBean
의 ObjectName 의 형태 키프로파티입니다. GarbageCollectorMXBean 의 일의의 ObjectName 는, 이 캐릭터 라인에 「, name=수집가명」을 추가하는 것으로 작성할 수 있습니다.
public static final String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
MemoryManagerMXBean
의 ObjectName 의 형태 키프로파티입니다. MemoryManagerMXBean 의 일의의 ObjectName 는, 이 캐릭터 라인에 「, name=매니저명」을 추가하는 것으로 작성할 수 있습니다.
public static final String MEMORY_POOL_MXBEAN_DOMAIN_TYPE
MemoryPoolMXBean
의 ObjectName 의 형태 키프로파티입니다. MemoryPoolMXBean 의 일의의 ObjectName 는, 이 캐릭터 라인에 「, name=풀명」을 추가하는 것으로 작성할 수 있습니다.
메소드의 상세 |
---|
public static ClassLoadingMXBean getClassLoadingMXBean()
ClassLoadingMXBean
객체public static MemoryMXBean getMemoryMXBean()
MemoryMXBean
객체public static ThreadMXBean getThreadMXBean()
ThreadMXBean
객체public static RuntimeMXBean getRuntimeMXBean()
RuntimeMXBean
객체public static CompilationMXBean getCompilationMXBean()
CompilationMXBean
객체.
Java 가상 머신이 컴파일 시스템을 가지지 않는 경우는
nullpublic static OperatingSystemMXBean getOperatingSystemMXBean()
OperatingSystemMXBean
객체public static List <MemoryPoolMXBean > getMemoryPoolMXBeans()
MemoryPoolMXBean
객체의 리스트를 돌려줍니다. Java 가상 머신은, 1 개(살) 이상의 메모리 풀을 보유할 수 있습니다. 실행중에 메모리 풀을 추가 또는 삭제할 수 있습니다.
public static List <MemoryManagerMXBean > getMemoryManagerMXBeans()
MemoryManagerMXBean
객체의 리스트를 돌려줍니다. Java 가상 머신은, 1 개(살) 이상의 메모리 매니저를 가질 수가 있습니다. Java 가상 머신은, 실행중에 메모리 매니저를 추가 또는 삭제할 수 있습니다.
public static List <GarbageCollectorMXBean > getGarbageCollectorMXBeans()
GarbageCollectorMXBean
객체의 리스트를 돌려줍니다. Java 가상 머신은, 1 개(살) 이상의 GarbageCollectorMXBean 객체를 가질 수가 있습니다. 또, 실행중에 GarbageCollectorMXBean 를 추가 또는 삭제할 수 있습니다.
public static MBeanServer getPlatformMBeanServer()
MBeanServer
를 돌려줍니다. 이 메소드의 최초의 호출로, 메소드는, 우선 MBeanServerFactory.createMBeanServer
메소드를 호출해, 플랫폼 MBeanServer 를 작성해, 클래스의 기술로 정의된 MXBean 명을 사용해, 이 플랫폼 MBeanServer 에 플랫폼 MXBean 를 등록합니다. 이후의 호출에서는, 이 메소드는, 초기에 작성된 플랫폼 MBeanServer 를 돌려줍니다.
MXBean 는 동적으로 작성되어 파기됩니다. 예를 들어, 메모리 pools
및 managers
는, 플랫폼 MBeanServer 에 자동적으로 등록 및 등록 해제됩니다.
시스템 프로퍼티 javax.management.builder.initial 가 설정되어 있으면(자), 플랫폼 MBeanServer 의 작성은, 지정된 MBeanServerBuilder
에 의해 실행됩니다.
플랫폼 MXBean 에 가세해, 다른 어플리케이션의 관리 빈의 등록에도, 이 플랫폼 MBeanServer 를 사용하는 것을 추천합니다. 이것에 의해, 모든 MBean 는 같은 MBeanServer 를 통해서 발행되어 특히 네트워크 퍼블리싱과 검출이 용이하게 됩니다. 플랫폼 MXBean 와의 이름의 중복을 피할 필요가 있습니다.
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 는, MXBean 인터페이스에의 메소드 호출의 발송처 InvocationHandler
입니다. 이 handler 는 MXBean 데이터형의 입력 파라미터를 매핑 된 공개형으로 변환하고 나서,MBeanServer 에 전송 해,MBeanServer 를 개입시켜 MXBean 메소드 호출로부터의 반환값을 공개형으로부터 MXBean 인터페이스로 선언된 대응하는 반환값의 형태로 변환합니다.
MXBean 가 통지를 발행하는 (NotificationEmitter
를 구현한다) 경우,mxbeanInterface 와 NotificationEmitter 의 양쪽 모두가 이 프록시에 의해 구현됩니다.
주:
IOException
가 throw 됩니다. 프록시를 사용해 플랫폼 MXBean 에 원격 접근 하는 어플리케이션에서는,MBeanServerConnector 인터페이스를 사용해 액세스 하는 경우와 같이,IOException 를 캐치 할 준비가 필요하게 된다InvalidObjectException
를 캐치 할 준비를 할 필요가 있다 MBeanServerInvocationHandler
또는 그 newProxyInstance
메소드를 사용해, 플랫폼 MXBean 의 프록시를 작성할 수 없다. MBeanServerInvocationHandler 에 의해 작성된 프록시 객체는,클래스 스펙으로 기술된 플랫폼 MXBean 의 프로퍼티을 처리하지 않는다
connection
- 전송처의 MBeanServerConnectionmxbeanName
- 전송처의 connection 내의 플랫폼
MXBean 명. mxbeanName 의 서식은
ObjectName
가 아니면 안되는mxbeanInterface
- 프록시에 의해 구현되는 MXBean
인터페이스
IllegalArgumentException
- 다음의 조건이 성립하는 경우:
ObjectName
의 서식이 아니다IOException
- MBeanServerConnection 에의 액세스시에
통신에 관한 문제가 발생했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.