MBeanInfo
MBeanInfo (MBean 관리 인터페이스 메타데이터)
MBean이 노출하는 관리 인터페이스, 즉 관리 작업에 사용 가능한 속성과 연산의 집합을 설명하는 클래스예요.
본문
이 클래스는 Cloneable, Serializable, DescriptorRead를 구현해요. 클래스 이름(getClassName), 생성자 목록(getConstructors), 속성 목록(getAttributes), 연산 목록(getOperations), 알림 목록(getNotifications), 기술자(getDescriptor) 정보를 담아요.
이 클래스의 인스턴스는 불변(immutable)이에요. 하위 클래스는 가변이 가능하지만 권장되지는 않아요. 일반적으로 특정 MBean의 MBeanInfo는 그 MBean의 수명 동안 바뀌지 않아요. Dynamic MBean은 MBeanInfo를 변경할 수 있는데, 그 경우 타입이 jmx.mbean.info.changed인 알림을 보내고 userData로 새 MBeanInfo를 전달하는 것이 권장돼요.
Standard MBean의 MBeanInfo 내용은 MBean 서버가 다음과 같이 결정해요: getClassName()은 MBean 객체의 Java 클래스 이름을, getConstructors()는 모든 public 생성자 목록을, getAttributes()는 MBean 인터페이스에서 get/is/set 네이밍 규약에 맞는 메서드로부터 추론된 속성 목록을 돌려줘요. getOperations()는 속성을 나타내지 않는 MBean 인터페이스의 모든 메서드를, getNotifications()는 MBean이 NotificationBroadcaster를 구현하지 않으면 빈 배열을, 구현하면 getNotificationInfo()의 결과를 돌려줘요. Java 1.5부터 제공돼요.