MBeanServer

MBeanServer (MBean 서버 인터페이스)

에이전트 측에서 MBean을 조작하기 위한 인터페이스예요. MBean의 생성, 등록, 삭제에 필요한 메서드와 등록된 MBean에 접근하는 메서드를 포함하며, JMX 인프라의 핵심 구성 요소예요.

출처: Java API Reference

본문

MBeanServer 인터페이스는 보통 사용자 코드가 직접 구현하지 않아요. 대신 MBeanServerFactory 클래스의 메서드 중 하나로 이 인터페이스를 구현하는 객체를 얻어요.

MBean 서버에 추가된 모든 MBean은 관리 가능해져요. 즉 그 속성과 연산이 해당 MBean 서버에 연결된 커넥터/어댑터를 통해 원격으로 접근 가능해져요. JMX 호환이 되는 MBean이 아니라면 MBean 서버에 등록할 수 없어요.

MBean이 MBean 서버에 등록되거나 등록 해제될 때 MBeanServerNotification 알림이 발행돼요. 이 알림을 받으려면 MBeanServerDelegateObjectName(JMImplementation:type=MBeanServerDelegate)으로 리스너를 등록해야 해요.

MBeanServerFactorycreateMBeanServernewMBeanServer로 얻은 객체는 보안 검사를 수행해요. 보안 관리자가 있다면 각 연산에 대해 호출자의 권한이 해당 MBeanPermission을 함의해야 해요. 예를 들어 getAttribute 연산은 MBeanPermission(className, attribute, name, "getAttribute") 권한을 요구해요.

주요 메서드로는 createMBean(MBean 인스턴스화 및 등록), registerMBean, unregisterMBean, getAttribute/setAttribute, invoke, getMBeanInfo, queryMBeans, getObjectInstance, addNotificationListener 등이 있어요.

더 알아보기 (Learn more)

Java 공식 API