ManagementFactory

ManagementFactory (관리 팩토리)

Java 플랫폼의 관리 빈(managed bean)을 얻기 위한 팩토리 클래스예요. 각각이 Java 가상 머신의 한 구성 요소 관리 인터페이스를 나타내는 하나 이상의 플랫폼 MXBean을 반환하는 정적 메서드들로 구성돼요.

출처: Java API Reference

본문

플랫폼 MXBean은 JMX 계측 명세를 따르고 기본 데이터 타입만 사용하는 관리 빈이에요. JMX 관리 애플리케이션과 플랫폼 MBeanServer는 MXBean 전용 데이터 타입 클래스 없이도 상호 운용할 수 있어요. 전송되는 데이터 타입은 개방형 타입(open type)이라 버전 간 상호 운용이 가능해요.

각 플랫폼 MXBean은 PlatformManagedObject이며, 플랫폼 MBeanServer 등록을 위한 고유 ObjectName을 가져요. 애플리케이션은 플랫폼 MXBean에 다음 두 가지 방식으로 접근할 수 있어요:

  1. MXBean 인터페이스에 직접 접근getPlatformMXBean/getPlatformMXBeans 메서드로 로컬 MXBean 인스턴스를 얻거나, getPlatformMXBean(MBeanServerConnection, Class) 등으로 프록시를 만들어 특정 MBeanServer에 호출을 위임해요. 프록시는 보통 다른 실행 중인 가상 머신의 MXBean을 원격으로 접근할 때 만들어요.
  2. 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부터 제공돼요.

더 알아보기 (Learn more)

Java 공식 API