ooh. good idea. On 8/20/10 11:00 AM, [email protected] wrote: > Author: fmeschbe > Date: Fri Aug 20 15:00:05 2010 > New Revision: 987533 > > URL: http://svn.apache.org/viewvc?rev=987533&view=rev > Log: > SLING-1611 Add attributes of Platform MBeanServer delegate to the service > registration of the Platform MBeanServer service as service properties > > Modified: > > sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/Sling.java > > Modified: > sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/Sling.java > URL: > http://svn.apache.org/viewvc/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/Sling.java?rev=987533&r1=987532&r2=987533&view=diff > ============================================================================== > --- > sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/Sling.java > (original) > +++ > sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/Sling.java > Fri Aug 20 15:00:05 2010 > @@ -38,7 +38,10 @@ import java.util.TreeMap; > import java.util.TreeSet; > import java.util.Map.Entry; > > +import javax.management.Attribute; > +import javax.management.AttributeList; > import javax.management.MBeanServer; > +import javax.management.ObjectName; > > import org.apache.felix.framework.Felix; > import org.apache.felix.framework.Logger; > @@ -314,8 +317,28 @@ public class Sling implements BundleActi > > // register the platform MBeanServer > MBeanServer platformMBeanServer = > ManagementFactory.getPlatformMBeanServer(); > + Properties mbeanProps = new Properties(); > + 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, null); > + platformMBeanServer, mbeanProps); > > // execute optional bundle startup tasks of an extension > this.doStartBundle(); > >
