Java 8 introduces a behavior change for the visibility requirements for interfaces that are used to create MBeans or MXBeans. All MBean and MXBean interfaces must be public. Prior to Java 8, non-public interfaces were allowed, although the specification defined that they should be public.
Setting the jdk.jmx.mbeans.allowNonPublic system property reverts the management subsystem
to use the old behavior, allowing non-public management interfaces.
This property is considered to be transitional and might be removed in subsequent releases.
Because ending the MBean interface name with MBean is convention rather than a
requirement, any invocation of the MBeanServer registerMBean
or createMBean methods are also flagged to highlight this Java 8
difference when you create management beans.
If your management bean interfaces do not follow the previously listed conventions,
manually verify that they use public interfaces.
For additional information, see Package javax.management Java documentation.