Rozhraní objektů MBean a MXBean musí být veřejná

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:

V 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.