This method creates a new MBeanServer implementation object.
When creating a new MBeanServer the
{@link javax.management.MBeanServerFactory} first calls
newMBeanServerDelegate()
in order to obtain a new
{@link javax.management.MBeanServerDelegate} for the new
MBeanServer. Then it calls
newMBeanServer(defaultDomain,outer,delegate)
passing the delegate that should be used by the MBeanServer
implementation.
Note that the passed delegate might not be directly the
MBeanServerDelegate that was returned by this implementation. It could
be, for instance, a new object wrapping the previously
returned delegate.
The outer parameter is a pointer to the MBeanServer that
should be passed to the {@link javax.management.MBeanRegistration}
interface when registering MBeans inside the MBeanServer.
If outer is null
, then the MBeanServer
implementation must use its own this
reference when
invoking the {@link javax.management.MBeanRegistration} interface.
This makes it possible for a MBeanServer implementation to wrap
another MBeanServer implementation, in order to implement, e.g,
security checks, or to prevent access to the actual MBeanServer
implementation by returning a pointer to a wrapping object.
// By default, MBeanServerInterceptors are disabled.
// Use com.sun.jmx.mbeanserver.MBeanServerBuilder to obtain
// MBeanServers on which MBeanServerInterceptors are enabled.
return JmxMBeanServer.newMBeanServer(defaultDomain,outer,delegate,
false);