En Java 8 hay un cambio de comportamiento respecto a los requisitos de visibilidad para las interfaces utilizadas para crear MBeans o MXBeans. Todas las interfaces MBean y MXBean deben ser públicas. En las versiones anteriores a Java 8, estaban permitidas las interfaces no públicas, aunque la especificación definía que deben ser públicas.
Cuando se establece la propiedad del sistema
jdk.jmx.mbeans.allowNonPublic, el subsistema de gestión adopta de
nuevo el comportamiento antiguo, y se permite el uso de interfaces de
gestión no públicas.
Esta propiedad se considera que es de transición y podría eliminarse en
releases subsiguientes.
Debido a que finalizar el nombre de la interfaz MBean con MBean
es un convenio más que un requisito, también se marcan todas las invocaciones
de los métodos MBeanServer registerMBean y
createMBean para resaltar esta diferencia de Java 8 cuando crea
beans de gestión.
Si sus interfaces de bean de gestión no siguen los convenios indicados
anteriormente, verifique manualmente que utilizan interfaces de tipo
public.
Para obtener más información, consulte la documentación de Java de Package javax.management.