Az MBean és MXBean felületnek nyilvánosnak kell lennie

A Java 8 bevezet egy viselkedésváltozást az MBean vagy MXBean létrehozására szolgáló felületek láthatósági követelményeivel kapcsolatban. Az összes MBean és MXBean felületnek nyilvánosnak kell lennie. A Java 8 előtt a nem nyilvános felületek engedélyezettek voltak, habár a specifikáció azt határozta meg, hogy nyilvánosnak kellene lenniük.

A jdk.jmx.mbeans.allowNonPublic rendszertulajdonság beállítása visszaállítja a felügyeleti alrendszert, hogy a régi viselkedést használja, és engedélyezze a nem nyilvános felügyeleti felületeket. A tulajdonságot átmenetinek kell tekinteni és előfordulhat, hogy eltávolításra kerül a későbbi kiadásokban.

A nem nyilvános MBean és MXBean felületek észleléséhez a következő helyzetek vannak megjelölve a Java kódban:

A következő példák a szabály által megjelölt nem nyilvános felületeket mutatnak be.

    Csatoló Example1MBean {}

    Felület Example2MXBean {}

    @MXBean felület Example3Interface {}

    @MXBean(true) csatoló Example4Interface {}

A következő példák olyan felületeket mutatnak be, amelyeket a szabály nem jelöl meg, mert már nyilvánosak, vagy meg vannak jelölve, mint nem MXBean-ek.

    Nyilvános felület Example5MBean{}

    Nyilvános felület Example6MXBean{}

    @MXBean(hamis) csatoló Example7MXBean {}

Ez a szabály rendelkezik egy automatikus javítást, amely beállítja a felület láthatóságát nyilvánosértékre. Másolja az egyéni konfigurációt az alkalmazás összeépítési fájljába a javítás automatizálásához.

További információkért tekintse meg a javax.management csomag Java dokumentációját.