Java 8에서는 MBean 또는 MXBean을 작성하는 데 사용되는 인터페이스에 대해 가시성 요구사항에 대한 동작 변경을 소개합니다. 모든 MBean 및 MXBean 인터페이스가 공용이어야 합니다. Java 8 이전에서, 비공용 인터페이스가 허용되었지만 스펙에서는 공용이어야 한다고 정의했습니다.
jdk.jmx.mbeans.allowNonPublic 시스템 특성을 설정하면 이전 동작을 사용하도록
관리 서브시스템을 되돌려서, 비공용 관리 인터페이스를 허용합니다.
이 특성은 과도적으로 간주되고 후속 릴리스에서 제거될 수도 있습니다.
비공용 MBean 및 MXBean 인터페이스를 발견하려면 다음 상황이 Java 코드에서 플래그가 지정됩니다.
@MXBean으로 어노테이션이 있는 비공용 인터페이스@MXBean(true)으로 어노테이션이 있는 비공용 인터페이스MXBean으로 끝나는 이름의 비공용 인터페이스MBean으로 끝나는 이름의 비공용 인터페이스다음 예제에서는 이 규칙에서 플래그가 설정되는 비공용 인터페이스를 표시합니다.
인터페이스 Example1MBean {}
인터페이스 Example2MXBean {}
@MXBean 인터페이스 Example3Interface {}
@MXBean(true) 인터페이스 Example4Interface {}
다음 예제에서는 이미 공용이거나 MXBean이 아닌 것으로 어노테이션이 있으므로 이 규칙에서 플래그가 설정되지 않은 인터페이스를 표시합니다.
공용 인터페이스 Example5MBean{}
공용 인터페이스 Example6MXBean{}
@MXBean(false) 인터페이스 Example7MXBean {}
이 규칙에는 인터페이스 가시성을 public으로 설정하는 자동화된 수정사항이 있습니다. 수정사항 자동화를 사용으로 설정하려면 사용자 정의 구성을 애플리케이션 빌드 파일에 복사하십시오.
추가 정보는 Package javax.management Java 문서를 참조하십시오.