return server.getClassLoaderRepository();
}
private static MBeanServer createMBeanServerImpl(String domain, String permission)
{
Logger logger = getLogger();
boolean trace = logger.isEnabledFor(Logger.TRACE);
try
{
SecurityManager sm = System.getSecurityManager();
if (sm != null) sm.checkPermission(new MBeanServerPermission(permission));
// get MBeanServerBuilder
if (trace) logger.trace("Obtaining MBeanServerBuilder");
final MBeanServerBuilder builder = createMBeanServerBuilder();
if (trace) logger.trace("Using MBeanServerBuilder " + builder.getClass());
// create delegate
if (trace) logger.trace("Creating MBeanServerDelegate...");
final MBeanServerDelegate delegate = builder.newMBeanServerDelegate();
if (trace) logger.trace("MBeanServerDelegate " + delegate.getClass() + " created successfully");
// create MBean server
if (trace) logger.trace("Creating MBeanServer...");
MBeanServer mbs = builder.newMBeanServer(domain, null, delegate);
if (trace) logger.trace("MBeanServer " + mbs + " created successfully");
if (logger.isEnabledFor(Logger.INFO))
{
String mbeanServerId = getMBeanServerId(mbs);
if (mbeanServerId != null)
logger.info("Created MBeanServer with ID: " + mbeanServerId);
else
logger.info("Created MBeanServer");
}
return mbs;
}
catch (SecurityException x)
{
if (trace) logger.trace("Security Exception caught while creating an MBeanServer", x);
throw x;
}
}