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.
Returns:
A new private implementation of an MBeanServer.
Parameters:
- defaultDomain - Default domain of the new MBeanServer.
- outer - A pointer to the MBeanServer object that must be
passed to the MBeans when invoking their
{@link javax.management.MBeanRegistration} interface.
- delegate - A pointer to the MBeanServerDelegate associated
with the new MBeanServer. The new MBeanServer must register
this MBean in its MBean repository.