MXBean

MXBean (MXBean 어노테이션)

인터페이스를 명시적으로 MXBean 인터페이스로 표시하거나, MXBean 인터페이스가 아니라는 것을 표시하는 어노테이션이에요. 기본적으로 인터페이스가 public이고 이름이 MXBean으로 끝나면(예: SomethingMXBean) MXBean 인터페이스예요.

출처: Java API Reference

본문

@MXBean 어노테이션은 @Documented, @Retention(RUNTIME), @Target(TYPE) 메타어노테이션을 가져요.

예를 들어 다음과 같은 인터페이스는 MXBean 인터페이스예요.

public interface WhatsitMXBean {}

@MXBean
public interface Whatsit1Interface {}

@MXBean(true)
public interface Whatsit2Interface {}

반면 다음 인터페이스는 MXBean 인터페이스가 아니에요.

interface NonPublicInterfaceNotMXBean {}

public interface Whatsit3Interface {}

@MXBean(false)
public interface MisleadingMXBean {}

MXBean 스펙: MXBean 개념은 javax.management.openmbean에 정의된 미리 정의된 타입 집합만 참조하는 MBean을 코딩하는 간단한 방법을 제공해요. 이렇게 하면 클라이언트가 MBean 타입을 나타내는 모델별 클래스에 접근할 필요 없이, 어떤 클라이언트(원격 클라이언트 포함)에서도 MBean을 사용할 수 있게 보장돼요.

Standard MBean과 비교하면 더 이해하기 쉽다. Standard MBean으로 표현할 때와 MXBean으로 표현할 때 차이를 보여주는 예:

Standard MBean:

public interface MemoryPoolMBean {
    String getName();
    MemoryUsage getUsage();
    // ...
}

더 알아보기 (Learn more)

Java 공식 API