Java 8 为用于创建 MBean 或 MXBean 的接口引入了可视性要求的行为更改。 所有 MBean 和 MXBean 接口都必须为公共接口。 在 Java 8 之前,虽然规范定义了接口应该为公共接口,但也允许使用非公共接口。
设置 jdk.jmx.mbeans.allowNonPublic 系统属性会将管理子系统还原为使用旧的行为,从而允许使用非公共管理接口。
该属性被视为过渡属性,并且可能会在后续发行版中移除。
因为以 MBean 结束 MBean 接口名称是约定而不是要求,所以当您创建管理 bean 时,还将标记对 MBeanServer registerMBean 或 createMBean方法的任何调用以突出显示此 Java 8 差异。
如果您的管理 bean 接口不遵循先前列出的约定,请手动验证这些接口是否使用 public 接口。
有关其他信息,请参阅 Package javax.management Java 文档。