MBean 및 MXBean 인터페이스가 공용이어야 함

Java 8에서는 MBean 또는 MXBean을 작성하는 데 사용되는 인터페이스에 대해 가시성 요구사항에 대한 동작 변경을 소개합니다. 모든 MBean 및 MXBean 인터페이스가 공용이어야 합니다. Java 8 이전에서, 비공용 인터페이스가 허용되었지만 스펙에서는 공용이어야 한다고 정의했습니다.

jdk.jmx.mbeans.allowNonPublic 시스템 특성을 설정하면 이전 동작을 사용하도록 관리 서브시스템을 되돌려서, 비공용 관리 인터페이스를 허용합니다. 이 특성은 과도적으로 간주되고 후속 릴리스에서 제거될 수도 있습니다.

비공용 MBean 및 MXBean 인터페이스를 발견하려면 다음 상황이 Java 코드에서 플래그가 지정됩니다.

다음 예제에서는 이 규칙에서 플래그가 설정되는 비공용 인터페이스를 표시합니다.

    인터페이스 Example1MBean {}

    인터페이스 Example2MXBean {}

    @MXBean 인터페이스 Example3Interface {}

    @MXBean(true) 인터페이스 Example4Interface {}

다음 예제에서는 이미 공용이거나 MXBean이 아닌 것으로 어노테이션이 있으므로 이 규칙에서 플래그가 설정되지 않은 인터페이스를 표시합니다.

    공용 인터페이스 Example5MBean{}

    공용 인터페이스 Example6MXBean{}

    @MXBean(false) 인터페이스 Example7MXBean {}

이 규칙에는 인터페이스 가시성을 public으로 설정하는 자동화된 수정사항이 있습니다. 수정사항 자동화를 사용으로 설정하려면 사용자 정의 구성을 애플리케이션 빌드 파일에 복사하십시오.

추가 정보는 Package javax.management Java 문서를 참조하십시오.