Il existe dans Java 8 un changement de comportement concernant les exigences de visibilité pour les interfaces utilisées pour la création des beans MBean ou MXBean. Toutes les interfaces MBean et MXBean doivent être publiques. Avant Java 8, les interfaces non publiques étaient autorisées, bien que la spécification exigeait que les interfaces soient publiques.
Si vous indiquez la propriété système jdk.jmx.mbeans.allowNonPublic, le sous-système de gestion utilise
alors l'ancien comportement, autorisant les interfaces de gestion non publiques.
Cette propriété est considérée comme provisoire et peut être retirée dans les versions suivantes.
Etant donné que le nom d'interface MBean se termine par MBean est
une convention et non une exigence, tout appel des méthodes MBeanServer registerMBean
ou createMBean est également marqué afin de mettre en évidence cette différence Java 8
lorsque vous créez des beans de gestion.
Si les interfaces de bean de gestion ne suivent pas les conventions précédemment
répertoriées, vérifiez manuellement qu'elles utilisent les interfaces public.
Pour obtenir des informations supplémentaires, voir la documentation Java Package javax.management.