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();