This method creates a new MBeanServer implementation object. When creating a new MBeanServer the
MBeanServerFactory
first calls
newMBeanServerDelegate()
in order to obtain a new
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 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 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.