[jboss-cvs] JBossAS SVN: r93481 - projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Sep 14 10:52:03 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-09-14 10:52:02 -0400 (Mon, 14 Sep 2009)
New Revision: 93481

Added:
   projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerService.java
Removed:
   projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerLocator.java
Modified:
   projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java
Log:
Fix MBeanServer service registration

Modified: projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java	2009-09-14 14:42:45 UTC (rev 93480)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java	2009-09-14 14:52:02 UTC (rev 93481)
@@ -69,12 +69,9 @@
    {
       log = new LogServiceTracker(context);
 
-      MBeanServerLocator locator = new MBeanServerLocator(context);
-      mbeanServer = locator.getMBeanServer();
-
       // Register the MBeanServer 
-      context.registerService(MBeanServer.class.getName(), mbeanServer, null);
-      log.log(LogService.LOG_DEBUG, "MBeanServer registered");
+      MBeanServerService service = new MBeanServerService(context);
+      mbeanServer = service.registerMBeanServer();
 
       // Get the system BundleContext
       BundleContext sysContext = context.getBundle(0).getBundleContext();
@@ -140,7 +137,7 @@
       public Object addingService(ServiceReference reference)
       {
          InitialContext iniCtx = (InitialContext)super.addingService(reference);
-         
+
          JMXServiceURL serviceURL = JMXConnectorService.getServiceURL(jmxHost, Integer.parseInt(jmxRmiPort));
          try
          {
@@ -154,7 +151,7 @@
             // Assume that the JMXConnector is already running if we cannot start it 
             log.log(LogService.LOG_DEBUG, "Assume JMXConnectorServer already running on: " + serviceURL);
          }
-         
+
          try
          {
             // Check if the RMIAdaptor is alrady bound

Deleted: projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerLocator.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerLocator.java	2009-09-14 14:42:45 UTC (rev 93480)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerLocator.java	2009-09-14 14:52:02 UTC (rev 93481)
@@ -1,83 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.jmx.internal;
-
-//$Id$
-
-import java.util.ArrayList;
-
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-
-import org.jboss.osgi.common.log.LogServiceTracker;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-
-/**
- * A service that registers an MBeanServer
- * 
- * @author thomas.diesler at jboss.com
- * @since 24-Apr-2009
- */
-public class MBeanServerLocator
-{
-   private LogService log;
-   private MBeanServer mbeanServer;
-
-   @SuppressWarnings("unchecked")
-   public MBeanServerLocator(BundleContext context)
-   {
-      log = new LogServiceTracker(context);
-
-      // Check if there is an MBeanServer service already
-      ServiceReference sref = context.getServiceReference(MBeanServer.class.getName());
-      if (sref != null)
-      {
-         mbeanServer = (MBeanServer)context.getService(sref);
-         log.log(LogService.LOG_DEBUG, "Found MBeanServer fom service: " + mbeanServer.getDefaultDomain());
-      }
-      else
-      {
-         ArrayList<MBeanServer> serverArr = MBeanServerFactory.findMBeanServer(null);
-         if (serverArr.size() > 1)
-            throw new IllegalStateException("Multiple MBeanServer instances not supported");
-
-         if (serverArr.size() == 1)
-         {
-            mbeanServer = serverArr.get(0);
-            log.log(LogService.LOG_DEBUG, "Found MBeanServer: " + mbeanServer.getDefaultDomain());
-         }
-
-         if (mbeanServer == null)
-         {
-            log.log(LogService.LOG_DEBUG, "No MBeanServer, create one ...");
-            mbeanServer = MBeanServerFactory.createMBeanServer();
-         }
-      }
-   }
-
-   public MBeanServer getMBeanServer()
-   {
-      return mbeanServer;
-   }
-}
\ No newline at end of file

Copied: projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerService.java (from rev 93480, projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerLocator.java)
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerService.java	                        (rev 0)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/src/main/java/org/jboss/osgi/jmx/internal/MBeanServerService.java	2009-09-14 14:52:02 UTC (rev 93481)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.jmx.internal;
+
+//$Id$
+
+import java.util.ArrayList;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+
+import org.jboss.osgi.common.log.LogServiceTracker;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogService;
+
+/**
+ * A service that registers an MBeanServer
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 24-Apr-2009
+ */
+public class MBeanServerService
+{
+   private BundleContext context;
+   private LogService log;
+
+   public MBeanServerService(BundleContext context)
+   {
+      log = new LogServiceTracker(context);
+      this.context = context;
+   }
+
+   @SuppressWarnings("unchecked")
+   public MBeanServer registerMBeanServer()
+   {
+      MBeanServer mbeanServer = null;
+
+      // Check if there is an MBeanServer service already
+      ServiceReference sref = context.getServiceReference(MBeanServer.class.getName());
+      if (sref != null)
+      {
+         mbeanServer = (MBeanServer)context.getService(sref);
+         log.log(LogService.LOG_DEBUG, "Found MBeanServer fom service: " + mbeanServer.getDefaultDomain());
+         return mbeanServer;
+      }
+
+      ArrayList<MBeanServer> serverArr = MBeanServerFactory.findMBeanServer(null);
+      if (serverArr.size() > 1)
+         throw new IllegalStateException("Multiple MBeanServer instances not supported");
+
+      if (serverArr.size() == 1)
+      {
+         mbeanServer = serverArr.get(0);
+         log.log(LogService.LOG_DEBUG, "Found MBeanServer: " + mbeanServer.getDefaultDomain());
+      }
+
+      if (mbeanServer == null)
+      {
+         log.log(LogService.LOG_DEBUG, "No MBeanServer, create one ...");
+         mbeanServer = MBeanServerFactory.createMBeanServer();
+      }
+
+      // Register the MBeanServer 
+      context.registerService(MBeanServer.class.getName(), mbeanServer, null);
+      log.log(LogService.LOG_DEBUG, "MBeanServer registered");
+      
+      return mbeanServer;
+   }
+}
\ No newline at end of file




More information about the jboss-cvs-commits mailing list