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 is free to use its own this
pointer 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.
This MBeanServerBuilder makes it possible to create MBeanServer
which support {@link com.sun.jmx.interceptor.MBeanServerInterceptor}s.
return JmxMBeanServer.newMBeanServer(defaultDomain,outer,delegate,
true);