RequiredModelMBean

RequiredModelMBean (필수 모델 MBean)

ModelMBean의 구현 클래스예요. 적절한 ModelMBean 구현이 모든 JMX 에이전트와 함께 제공되어야 하며, 클래스 이름은 반드시 RequiredModelMBean이어야 해요. ModelMBean, MBeanRegistration, NotificationEmitter를 구현해요.

출처: Java API Reference

본문

관리되고자 하는 Java 리소스는 MBeanServer의 createMBean 메서드를 사용해 RequiredModelMBean을 인스턴스화해요. 리소스는 그런 다음 인스턴스에 MBeanInfo와 설명자를 설정해요. ModelMBeanInfo를 통해 노출된 속성과 연산은 다른 MBean처럼 접근 가능해져요. 설명자를 통해 관리 애플리케이션의 값과 메서드를 정의하고 ModelMBean의 속성과 연산에 매핑할 수 있어요. 이 매핑은 XML 형식 파일로 정의하거나 런타임에 동적으로 정의할 수 있어요.

두 생성자를 제공해요:

  • RequiredModelMBean(): 빈 ModelMBeanInfo로 생성해요. 이후 setModelMBeanInfo로 커스터마이즈할 수 있어요.
  • RequiredModelMBean(ModelMBeanInfo mbi): 주어진 ModelMBeanInfo를 복제하고 setModelMBeanInfo로 지정한 대로 수정해요.

주요 메서드는 다음과 같아요.

  • setModelMBeanInfo(mbi): ModelMBeanInfo를 초기화해요. MBeanServer에 등록되기 전에만 가능하며, 등록된 상태면 RuntimeOperationsException(내부는 IllegalStateException)을 던져요. 주어진 info에 GENERIC/ATTRIBUTE_CHANGE 알림의 ModelMBeanNotificationInfo가 없으면 기본값을 제공해요.
  • setManagedResource(mr, mr_type): 관리 대상 리소스의 인스턴스 핸들을 설정해요.
  • load(): 영속 저장소에서 데이터를 로드해 인스턴스화해요. 영속성을 지원하지 않으면 MBeanException(내부는 ServiceNotFoundException)을 던져요.
  • store(): MBean을 영속 저장소에 저장해요.

모든 public 메서드에 MBeanExceptionRuntimeOperationsException을 던져 분산 통신 예외를 감싸요.

더 알아보기 (Learn more)

Java 공식 API