Java 8 zavádí změnu chování pro požadavky na viditelnost pro rozhraní, která se používají k vytváření objektů MBean nebo MXBeans. Všechna rozhraní MBean a MXBean musí být veřejná. Před Java 8 byla povolena neveřejná rozhraní, i když specifikace definovala, že by měla být veřejná.
Nastavení systémové vlastnosti jdk.jmx.mbeans.allowNonPublic vrací subsystém správy pro použití starého chování umožňující neveřejná rozhraní správy.
Tato vlastnost je považována za přechodnou a může být odebrána v následujících vydáních.
Chcete-li zjistit neveřejná rozhraní objektu MBean a MXBean, jsou následující situace označeny v kódu Java:
@MXBean@MXBean(true)MXBeanMBeanV následujících příkladech jsou zobrazena neveřejná rozhraní, která jsou označena tímto pravidlem.
rozhraní Example1MBean {}
rozhraní Example2MXBean {}
@MXBean rozhraní Example3Interface {}
@MXBean(true) rozhraní Example4Interface {}
Následující příklady zobrazují rozhraní, která nejsou označena tímto pravidlem, protože jsou již veřejná, nebo jsou anotována jako objekt MXBean.
veřejné rozhraní Example5MBean{}
veřejné rozhraní Example6MXBean{}
@MXBean(false) rozhraní Example7MXBean {}
Toto pravidlo má automatickou opravu, která nastaví viditelnost rozhraní na public. Zkopírujte vlastní konfiguraci do svého souboru sestavení aplikace a povolte automatizaci opravy.
Další informace viz dokumentace Java Package javax.management.