ModelMBean

ModelMBean (모델 MBean 인터페이스)

ModelMBean이 반드시 구현해야 하는 인터페이스예요. 이 인터페이스의 구현은 모든 JMX 에이전트와 함께 제공되어야 해요. DynamicMBean, PersistentMBean, ModelMBeanNotificationBroadcaster를 상속해요.

출처: Java API Reference

본문

관리되고자 하는 Java 리소스는 MBeanServer의 createMBean 메서드를 사용해 ModelMBean을 인스턴스화해요. 리소스는 그런 다음 ModelMBean 인스턴스에 대한 ModelMBeanInfo(설명자 포함)를 설정해요. ModelMBeanInfo를 통해 노출된 속성과 연산은 다른 MBean처럼 MBean, 커넥터/어댑터에서 접근할 수 있어요.

ModelMBeanInfo 설명자를 통해 관리 애플리케이션의 값과 메서드를 정의하고 ModelMBean의 속성과 연산에 매핑할 수 있어요. 이 매핑은 개발 중에 XML 형식 파일로 정의하거나 런타임에 동적으로 프로그래밍 방식으로 정의할 수 있어요.

MBeanServer에서 인스턴스화된 모든 ModelMBean은 관리 가능해져요. 즉 그 속성과 연산은 해당 MBeanServer에 연결된 커넥터/어댑터를 통해 원격으로 접근 가능해져요. JMX 호환이 되는 MBean이 아니면 MBeanServer에 등록할 수 없어요. ModelMBean을 인스턴스화함으로써 리소스는 MBean이 유효하다는 것을 보장받아요.

모든 public 메서드에 MBeanExceptionRuntimeOperationsException이 던져져야 해요. 이는 분산 통신(RMI, EJB 등)의 예외를 감싸기 위함이에요.

주요 메서드로는 setModelMBeanInfo(ModelMBeanInfo)(ModelMBeanInfo 초기화, 등록 전에만 가능)와 setManagedResource(Object mr, String mr_type)(관리 대상 리소스의 인스턴스 핸들 설정)이 있어요.

더 알아보기 (Learn more)

Java 공식 API