ManagementFactory
ManagementFactory (관리 팩토리)
Java 플랫폼의 관리 빈(managed bean)을 얻기 위한 팩토리 클래스예요. 각각이 Java 가상 머신의 한 구성 요소 관리 인터페이스를 나타내는 하나 이상의 플랫폼 MXBean을 반환하는 정적 메서드들로 구성돼요.
본문
플랫폼 MXBean은 JMX 계측 명세를 따르고 기본 데이터 타입만 사용하는 관리 빈이에요. JMX 관리 애플리케이션과 플랫폼 MBeanServer는 MXBean 전용 데이터 타입 클래스 없이도 상호 운용할 수 있어요. 전송되는 데이터 타입은 개방형 타입(open type)이라 버전 간 상호 운용이 가능해요.
각 플랫폼 MXBean은 PlatformManagedObject이며, 플랫폼 MBeanServer 등록을 위한 고유 ObjectName을 가져요. 애플리케이션은 플랫폼 MXBean에 다음 두 가지 방식으로 접근할 수 있어요:
- MXBean 인터페이스에 직접 접근 —
getPlatformMXBean/getPlatformMXBeans메서드로 로컬 MXBean 인스턴스를 얻거나,getPlatformMXBean(MBeanServerConnection, Class)등으로 프록시를 만들어 특정 MBeanServer에 호출을 위임해요. 프록시는 보통 다른 실행 중인 가상 머신의 MXBean을 원격으로 접근할 때 만들어요. - MBeanServer를 통한 간접 접근 — 플랫폼 MBeanServer를 거쳐 로컬 MXBean에 접근하거나, 특정 MBeanServerConnection으로 원격 MXBean에 접근해요.
getPlatformManagementInterfaces()는 Java 가상 머신이 지원하는 모든 관리 인터페이스를 돌려줘요. 예를 들어 MemoryMXBean(java.lang:type=Memory), ThreadMXBean(java.lang:type=Threading), RuntimeMXBean(java.lang:type=Runtime), OperatingSystemMXBean(java.lang:type=OperatingSystem), ClassLoadingMXBean(java.lang:type=ClassLoading), PlatformLoggingMXBean(java.util.logging:type=Logging) 등이 단일 인스턴스로 제공돼요. Java 1.5부터 제공돼요.