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:
@MXBean annotációval ellátott nem nyilvános felületek@MXBean(true) annotációval ellátott nem nyilvános
felületekMXBean végződésű névvel rendelkező nem nyilvános
felületekMBean végződésű névvel rendelkező nem nyilvános
felületekA 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.