in src/main/java/org/apache/sling/launchpad/base/impl/Sling.java [300:335]
private final void startup(BundleContext bundleContext) {
// register the context URL handler
Hashtable<String, Object> props = new Hashtable<String, Object>();
props.put(URLConstants.URL_HANDLER_PROTOCOL, new String[] { "context" });
ContextProtocolHandler contextHandler = new ContextProtocolHandler(
this.resourceProvider);
bundleContext.registerService(URLStreamHandlerService.class.getName(),
contextHandler, props);
// register the platform MBeanServer
MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer();
Hashtable<String, Object> mbeanProps = new Hashtable<String, Object>();
try {
ObjectName beanName = ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate");
AttributeList attrs = platformMBeanServer.getAttributes(beanName,
new String[] { "MBeanServerId", "SpecificationName",
"SpecificationVersion", "SpecificationVendor",
"ImplementationName", "ImplementationVersion",
"ImplementationVendor" });
for (Object object : attrs) {
Attribute attr = (Attribute) object;
if (attr.getValue() != null) {
mbeanProps.put(attr.getName(), attr.getValue().toString());
}
}
} catch (Exception je) {
logger.log(
Logger.LOG_INFO,
"start: Cannot set service properties of Platform MBeanServer service, registering without",
je);
}
bundleContext.registerService(MBeanServer.class.getName(),
platformMBeanServer, mbeanProps);
bundleContext.registerService(LaunchpadContentProvider.class.getName(), resourceProvider, null);
}