MBeanRegistration
MBeanRegistration (MBean 등록 생명주기 인터페이스)
MBean이 MBean 서버에 등록되거나 등록 해제되기 전후에 필요한 작업을 수행하기 위해 구현할 수 있는 인터페이스예요. 또한 MBean이 MBean 서버와 그 안에서의 자신의 이름에 대한 참조를 얻기 위해 구현할 수도 있어요.
본문
MBeanRegistration 인터페이스는 MBean 등록의 전 과정을 네 단계로 나누어 정의해요.
preRegister(MBeanServer server, ObjectName name): MBean이 MBean 서버에 등록되기 전에 필요한 작업을 수행하게 해줘요. MBean의 이름이 지정되지 않았다면, MBean이 등록 이름을 직접 제공할 수 있어요. 이 메서드에서 예외가 발생하면 MBean은 MBean 서버에 등록되지 않아요. 반환값은 MBean이 등록될 이름이며 null이면 안 돼요.
postRegister(Boolean registrationDone): MBean이 등록된 후 또는 등록이 실패한 후 필요한 작업을 수행해요. 여기서 예외를 던져도 MBean의 상태는 바뀌지 않아요. 이미 등록이 완료된 상태(registrationDone이 true)라면 등록 상태가 유지돼요.
preDeregister(): MBean이 등록 해제되기 전에 필요한 작업을 수행해요. 이 메서드의 예외는 MBean 서버가 잡아 MBeanRegistrationException으로 다시 던져요.
postDeregister(): MBean이 등록 해제된 후 필요한 작업을 수행해요. 등록 해제는 이미 성공적으로 끝났으므로 예외를 던져도 상태는 바뀌지 않아요.
preRegister, preDeregister에서 던진 예외는 MBean 서버가 MBeanRegistrationException으로 감싸 다시 던진다는 점을 기억해야 해요.