[jboss-osgi-commits] JBoss-OSGI SVN: r103675 - in projects/jboss-osgi/projects: bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal and 2 other directories.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Thu Apr 8 02:24:00 EDT 2010


Author: thomas.diesler at jboss.com
Date: 2010-04-08 02:23:55 -0400 (Thu, 08 Apr 2010)
New Revision: 103675

Removed:
   projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptor.java
   projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptorFactory.java
Modified:
   projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXConstantsExt.java
   projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXServiceURLFactory.java
   projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXConnectorService.java
   projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java
   projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/test/java/org/jboss/test/osgi/jmx/JSR160TestCase.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java
Log:
[JBOSGI-307] - JSR160 compliant JMXConnector

Modified: projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXConstantsExt.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXConstantsExt.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXConstantsExt.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -37,8 +37,6 @@
    String REMOTE_JMX_RMI_PORT = "org.jboss.osgi.jmx.rmi.port";
    /** The property that sets the port that the RMI Registry binds to: org.jboss.osgi.jmx.rmi.registry.port */
    String REMOTE_JMX_RMI_REGISTRY_PORT = "org.jboss.osgi.jmx.rmi.registry.port";
-   /** The property that sets the JNDI name the RMIAdaptor binds to: org.jboss.osgi.jmx.rmi.adaptor */
-   String REMOTE_JMX_RMI_ADAPTOR = "org.jboss.osgi.jmx.rmi.adaptor";
    
    /** The default host that the RMIAdaptor binds to: localhost */
    String DEFAULT_REMOTE_JMX_HOST = "localhost";
@@ -46,6 +44,4 @@
    String DEFAULT_REMOTE_JMX_RMI_PORT = "1198";
    /** The default port that the RMI Registry binds to: 1090 */
    String DEFAULT_REMOTE_JMX_RMI_REGISTRY_PORT = "1090";
-   /** The default JNDI name the RMIAdaptor binds to: osgi/jmx/RMIAdaptor */
-   String DEFAULT_JMX_RMI_ADAPTOR = "osgi/jmx/RMIAdaptor";
 }
\ No newline at end of file

Modified: projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXServiceURLFactory.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXServiceURLFactory.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/api/src/main/java/org/jboss/osgi/jmx/JMXServiceURLFactory.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -23,6 +23,13 @@
 
 //$Id: JMXConnectorService.java 103656 2010-04-07 20:02:31Z thomas.diesler at jboss.com $
 
+import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_REMOTE_JMX_HOST;
+import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_REMOTE_JMX_RMI_PORT;
+import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_REMOTE_JMX_RMI_REGISTRY_PORT;
+import static org.jboss.osgi.jmx.JMXConstantsExt.REMOTE_JMX_HOST;
+import static org.jboss.osgi.jmx.JMXConstantsExt.REMOTE_JMX_RMI_PORT;
+import static org.jboss.osgi.jmx.JMXConstantsExt.REMOTE_JMX_RMI_REGISTRY_PORT;
+
 import java.net.MalformedURLException;
 
 import javax.management.remote.JMXServiceURL;
@@ -35,9 +42,23 @@
  */
 public abstract class JMXServiceURLFactory
 {
-   public static JMXServiceURL getServiceURL(String host, int conPort, int regPort)
+   public static JMXServiceURL getServiceURL()
    {
-      String jmxConnectorURL = "service:jmx:rmi://" + host + ":" + conPort + "/jndi/rmi://" + host + ":" + regPort + "/osgi-jmx-connector";
+      return getServiceURL(null, null, null);
+   }
+   
+   public static JMXServiceURL getServiceURL(String host, Integer jmxPort, Integer rmiPort)
+   {
+      if (host == null)
+         host = System.getProperty(REMOTE_JMX_HOST, DEFAULT_REMOTE_JMX_HOST);
+
+      if (jmxPort == null)
+         jmxPort = Integer.parseInt(System.getProperty(REMOTE_JMX_RMI_PORT, DEFAULT_REMOTE_JMX_RMI_PORT));
+
+      if (rmiPort == null)
+         rmiPort = Integer.parseInt(System.getProperty(REMOTE_JMX_RMI_REGISTRY_PORT, DEFAULT_REMOTE_JMX_RMI_REGISTRY_PORT));
+
+      String jmxConnectorURL = "service:jmx:rmi://" + host + ":" + jmxPort + "/jndi/rmi://" + host + ":" + rmiPort + "/osgi-jmx-connector";
       try
       {
          return new JMXServiceURL(jmxConnectorURL);

Modified: projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXConnectorService.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXConnectorService.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXConnectorService.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -39,7 +39,7 @@
 import org.jboss.logging.Logger;
 
 /**
- * A Service Activator that registers an MBeanServer
+ * A RMI/JRMP connector service.
  * 
  * @author thomas.diesler at jboss.com
  * @since 24-Apr-2009

Modified: projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/JMXServiceActivator.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -23,25 +23,18 @@
 
 //$Id$
 
-import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_JMX_RMI_ADAPTOR;
 import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_REMOTE_JMX_HOST;
 import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_REMOTE_JMX_RMI_PORT;
 import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_REMOTE_JMX_RMI_REGISTRY_PORT;
 import static org.jboss.osgi.jmx.JMXConstantsExt.REMOTE_JMX_HOST;
-import static org.jboss.osgi.jmx.JMXConstantsExt.REMOTE_JMX_RMI_ADAPTOR;
 import static org.jboss.osgi.jmx.JMXConstantsExt.REMOTE_JMX_RMI_PORT;
 import static org.jboss.osgi.jmx.JMXConstantsExt.REMOTE_JMX_RMI_REGISTRY_PORT;
 
 import java.io.IOException;
 
 import javax.management.MBeanServer;
-import javax.management.MBeanServerConnection;
 import javax.management.remote.JMXServiceURL;
-import javax.naming.Context;
 import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.naming.Reference;
-import javax.naming.StringRefAddr;
 
 import org.jboss.logging.Logger;
 import org.jboss.osgi.jmx.JMXServiceURLFactory;
@@ -63,9 +56,8 @@
 
    private JMXConnectorService jmxConnector;
    private String jmxHost;
-   private String jmxRmiPort;
-   private String rmiRegistryPort;
-   private String rmiAdaptorName;
+   private String jmxPortStr;
+   private String rmiPortStr;
    private MBeanServer mbeanServer;
    private FrameworkStateExt frameworkState;
    private ServiceStateExt serviceState;
@@ -101,18 +93,14 @@
       if (jmxHost == null)
          jmxHost = DEFAULT_REMOTE_JMX_HOST;
 
-      jmxRmiPort = context.getProperty(REMOTE_JMX_RMI_PORT);
-      if (jmxRmiPort == null)
-         jmxRmiPort = DEFAULT_REMOTE_JMX_RMI_PORT;
+      jmxPortStr = context.getProperty(REMOTE_JMX_RMI_PORT);
+      if (jmxPortStr == null)
+         jmxPortStr = DEFAULT_REMOTE_JMX_RMI_PORT;
 
-      rmiRegistryPort = context.getProperty(REMOTE_JMX_RMI_REGISTRY_PORT);
-      if (rmiRegistryPort == null)
-         rmiRegistryPort = DEFAULT_REMOTE_JMX_RMI_REGISTRY_PORT;
+      rmiPortStr = context.getProperty(REMOTE_JMX_RMI_REGISTRY_PORT);
+      if (rmiPortStr == null)
+         rmiPortStr = DEFAULT_REMOTE_JMX_RMI_REGISTRY_PORT;
 
-      rmiAdaptorName = context.getProperty(REMOTE_JMX_RMI_ADAPTOR);
-      if (rmiAdaptorName == null)
-         rmiAdaptorName = DEFAULT_JMX_RMI_ADAPTOR;
-
       // Start tracking the NamingService
       InitialContextTracker tracker = new InitialContextTracker(context);
       tracker.open();
@@ -141,8 +129,6 @@
 
    class InitialContextTracker extends ServiceTracker
    {
-      private boolean rmiAdaptorBound;
-
       public InitialContextTracker(BundleContext context)
       {
          super(context, InitialContext.class.getName(), null);
@@ -153,12 +139,12 @@
       {
          InitialContext iniCtx = (InitialContext)super.addingService(reference);
          
-         int conPort = Integer.parseInt(jmxRmiPort);
-         int regPort = Integer.parseInt(rmiRegistryPort);
-         JMXServiceURL serviceURL = JMXServiceURLFactory.getServiceURL(jmxHost, conPort, regPort);
+         int jmxPort = Integer.parseInt(jmxPortStr);
+         int rmiPort = Integer.parseInt(rmiPortStr);
+         JMXServiceURL serviceURL = JMXServiceURLFactory.getServiceURL(jmxHost, jmxPort, rmiPort);
          try
          {
-            jmxConnector = new JMXConnectorService(serviceURL, regPort);
+            jmxConnector = new JMXConnectorService(serviceURL, rmiPort);
             jmxConnector.start(mbeanServer);
          }
          catch (IOException ex)
@@ -167,37 +153,12 @@
             return iniCtx;
          }
 
-         // Bind the RMIAdaptor
-         try
-         {
-            String[] tokens = rmiAdaptorName.split("/");
-            Context ctx = iniCtx;
-            for (int i = 0; i < tokens.length - 1; i++)
-            {
-               String token = tokens[i];
-               ctx = ctx.createSubcontext(token);
-            }
-            StringRefAddr addr = new StringRefAddr(JMXServiceURL.class.getName(), serviceURL.toString());
-            Reference ref = new Reference(MBeanServerConnection.class.getName(), addr, RMIAdaptorFactory.class.getName(), null);
-            iniCtx.bind(rmiAdaptorName, ref);
-            rmiAdaptorBound = true;
-
-            log.debug("MBeanServerConnection bound to: " + rmiAdaptorName);
-         }
-         catch (NamingException ex)
-         {
-            log.error("Cannot bind RMIAdaptor", ex);
-            return iniCtx;
-         }
-         
          return iniCtx;
       }
 
       @Override
       public void removedService(ServiceReference reference, Object service)
       {
-         InitialContext iniCtx = (InitialContext)service;
-
          // Stop JMXConnectorService
          if (jmxConnector != null)
          {
@@ -205,20 +166,6 @@
             jmxConnector = null;
          }
 
-         // Unbind the RMIAdaptor
-         if (rmiAdaptorBound == true)
-         {
-            try
-            {
-               iniCtx.unbind(rmiAdaptorName);
-               log.info("MBeanServerConnection unbound from: " + rmiAdaptorName);
-            }
-            catch (NamingException ex)
-            {
-               log.error("Cannot unbind RMIAdaptor", ex);
-            }
-         }
-
          super.removedService(reference, service);
       }
    }

Deleted: projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptor.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptor.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptor.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -1,189 +0,0 @@
-/**
- * 
- */
-package org.jboss.osgi.jmx.internal;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Set;
-
-import javax.management.Attribute;
-import javax.management.AttributeList;
-import javax.management.AttributeNotFoundException;
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.InstanceNotFoundException;
-import javax.management.IntrospectionException;
-import javax.management.InvalidAttributeValueException;
-import javax.management.ListenerNotFoundException;
-import javax.management.MBeanException;
-import javax.management.MBeanInfo;
-import javax.management.MBeanRegistrationException;
-import javax.management.MBeanServerConnection;
-import javax.management.NotCompliantMBeanException;
-import javax.management.NotificationFilter;
-import javax.management.NotificationListener;
-import javax.management.ObjectInstance;
-import javax.management.ObjectName;
-import javax.management.QueryExp;
-import javax.management.ReflectionException;
-import javax.management.remote.JMXConnector;
-import javax.management.remote.JMXConnectorFactory;
-import javax.management.remote.JMXServiceURL;
-
-import org.jboss.logging.Logger;
-
-public class RMIAdaptor implements MBeanServerConnection, Serializable
-{
-   private static final long serialVersionUID = -360532663805790477L;
-
-   // Provide logging
-   private transient final Logger log = Logger.getLogger(RMIAdaptor.class);
-   
-   private transient MBeanServerConnection delegate;
-
-   public RMIAdaptor(JMXServiceURL url) throws IOException
-   {
-      log.debug("Connect JMXConnector to: " + url);
-      JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
-      delegate = jmxc.getMBeanServerConnection();
-   }
-
-   public void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
-         throws InstanceNotFoundException, IOException
-   {
-      delegate.addNotificationListener(name, listener, filter, handback);
-   }
-
-   public void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException,
-         IOException
-   {
-      delegate.addNotificationListener(name, listener, filter, handback);
-   }
-
-   public ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature) throws ReflectionException,
-         InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
-   {
-      return delegate.createMBean(className, name, params, signature);
-   }
-
-   public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) throws ReflectionException,
-         InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
-   {
-      return delegate.createMBean(className, name, loaderName, params, signature);
-   }
-
-   public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) throws ReflectionException, InstanceAlreadyExistsException,
-         MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
-   {
-      return delegate.createMBean(className, name, loaderName);
-   }
-
-   public ObjectInstance createMBean(String className, ObjectName name) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException,
-         MBeanException, NotCompliantMBeanException, IOException
-   {
-      return delegate.createMBean(className, name);
-   }
-
-   public Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException,
-         ReflectionException, IOException
-   {
-      return delegate.getAttribute(name, attribute);
-   }
-
-   public AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException, IOException
-   {
-      return delegate.getAttributes(name, attributes);
-   }
-
-   public String getDefaultDomain() throws IOException
-   {
-      return delegate.getDefaultDomain();
-   }
-
-   public String[] getDomains() throws IOException
-   {
-      return delegate.getDomains();
-   }
-
-   public Integer getMBeanCount() throws IOException
-   {
-      return delegate.getMBeanCount();
-   }
-
-   public MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
-   {
-      return delegate.getMBeanInfo(name);
-   }
-
-   public ObjectInstance getObjectInstance(ObjectName name) throws InstanceNotFoundException, IOException
-   {
-      return delegate.getObjectInstance(name);
-   }
-
-   public Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException,
-         ReflectionException, IOException
-   {
-      return delegate.invoke(name, operationName, params, signature);
-   }
-
-   public boolean isInstanceOf(ObjectName name, String className) throws InstanceNotFoundException, IOException
-   {
-      return delegate.isInstanceOf(name, className);
-   }
-
-   public boolean isRegistered(ObjectName name) throws IOException
-   {
-      return delegate.isRegistered(name);
-   }
-
-   @SuppressWarnings({ "rawtypes", "unchecked" })
-   public Set queryMBeans(ObjectName name, QueryExp query) throws IOException
-   {
-      return delegate.queryMBeans(name, query);
-   }
-
-   @SuppressWarnings({ "rawtypes", "unchecked" })
-   public Set queryNames(ObjectName name, QueryExp query) throws IOException
-   {
-      return delegate.queryNames(name, query);
-   }
-
-   public void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
-         throws InstanceNotFoundException, ListenerNotFoundException, IOException
-   {
-      delegate.removeNotificationListener(name, listener, filter, handback);
-   }
-
-   public void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException,
-         IOException
-   {
-      delegate.removeNotificationListener(name, listener);
-   }
-
-   public void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException,
-         ListenerNotFoundException, IOException
-   {
-      delegate.removeNotificationListener(name, listener, filter, handback);
-   }
-
-   public void removeNotificationListener(ObjectName name, ObjectName listener) throws InstanceNotFoundException, ListenerNotFoundException, IOException
-   {
-      delegate.removeNotificationListener(name, listener);
-   }
-
-   public void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException,
-         MBeanException, ReflectionException, IOException
-   {
-      delegate.setAttribute(name, attribute);
-   }
-
-   public AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException, ReflectionException, IOException
-   {
-      return delegate.setAttributes(name, attributes);
-   }
-
-   public void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException, IOException
-   {
-      delegate.unregisterMBean(name);
-   }
-}
\ No newline at end of file

Deleted: projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptorFactory.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptorFactory.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/main/java/org/jboss/osgi/jmx/internal/RMIAdaptorFactory.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -1,30 +0,0 @@
-/**
- * 
- */
-package org.jboss.osgi.jmx.internal;
-
-// $Id$
-
-import java.io.Serializable;
-import java.util.Hashtable;
-
-import javax.management.remote.JMXServiceURL;
-import javax.naming.Context;
-import javax.naming.Name;
-import javax.naming.RefAddr;
-import javax.naming.Reference;
-import javax.naming.spi.ObjectFactory;
-
-public class RMIAdaptorFactory implements ObjectFactory, Serializable
-{
-   private static final long serialVersionUID = 2560477127430087074L;
-
-   public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception
-   {
-      Reference ref = (Reference)obj;
-      RefAddr refAddr = ref.get(JMXServiceURL.class.getName());
-      String serviceURL = (String)refAddr.getContent();
-      JMXServiceURL url = new JMXServiceURL(serviceURL);
-      return new RMIAdaptor(url);
-   }
-}
\ No newline at end of file

Modified: projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/test/java/org/jboss/test/osgi/jmx/JSR160TestCase.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/test/java/org/jboss/test/osgi/jmx/JSR160TestCase.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/impl/src/test/java/org/jboss/test/osgi/jmx/JSR160TestCase.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -23,7 +23,6 @@
 
 //$Id: ServiceStateTestCase.java 103562 2010-04-06 10:25:15Z thomas.diesler at jboss.com $
 
-import static org.jboss.osgi.jmx.JMXConstantsExt.DEFAULT_JMX_RMI_ADAPTOR;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
@@ -34,8 +33,8 @@
 import javax.management.remote.JMXConnector;
 import javax.management.remote.JMXConnectorFactory;
 import javax.management.remote.JMXServiceURL;
-import javax.naming.InitialContext;
 
+import org.jboss.osgi.jmx.JMXServiceURLFactory;
 import org.jboss.osgi.jmx.ObjectNameFactory;
 import org.junit.Test;
 import org.osgi.jmx.framework.BundleStateMBean;
@@ -54,13 +53,13 @@
    public void testJMXConnector() throws Exception
    {
       // The address of the connector server
-      JMXServiceURL address = new JMXServiceURL("service:jmx:rmi://localhost:1198/jndi/rmi://localhost:1090/osgi-jmx-connector");
+      JMXServiceURL serviceURL = JMXServiceURLFactory.getServiceURL(getServerHost(), null, null);
 
       // The environment map, null in this case
       Map<String, ?> environment = null;
 
       // Create the JMXCconnectorServer
-      JMXConnector cntor = JMXConnectorFactory.connect(address, environment);
+      JMXConnector cntor = JMXConnectorFactory.connect(serviceURL, environment);
 
       // Obtain a "stub" for the remote MBeanServer
       MBeanServerConnection mbsc = cntor.getMBeanServerConnection();
@@ -77,23 +76,4 @@
       assertTrue(isMBeanRegistered(mbsc, bndName, true));
       assertTrue(isMBeanRegistered(mbsc, srvName, true));
    }
-
-   @Test
-   public void testRMIAdaptor() throws Exception
-   {
-      InitialContext iniCtx = getInitialContext();
-      MBeanServerConnection mbsc = (MBeanServerConnection)iniCtx.lookup(DEFAULT_JMX_RMI_ADAPTOR);
-
-      // Call the remote MBeanServer
-      String domain = mbsc.getDefaultDomain();
-      assertEquals("DefaultDomain", domain);
-      
-      ObjectName fwkName = ObjectNameFactory.create(FrameworkMBean.OBJECTNAME);
-      ObjectName bndName = ObjectNameFactory.create(BundleStateMBean.OBJECTNAME);
-      ObjectName srvName = ObjectNameFactory.create(ServiceStateMBean.OBJECTNAME);
-
-      assertTrue(isMBeanRegistered(mbsc, fwkName, true));
-      assertTrue(isMBeanRegistered(mbsc, bndName, true));
-      assertTrue(isMBeanRegistered(mbsc, srvName, true));
-   }
 }
\ No newline at end of file

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java	2010-04-08 06:06:55 UTC (rev 103674)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java	2010-04-08 06:23:55 UTC (rev 103675)
@@ -37,10 +37,11 @@
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularData;
 import javax.management.remote.JMXConnector;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
 
 import org.jboss.logging.Logger;
+import org.jboss.osgi.jmx.JMXServiceURLFactory;
 import org.jboss.osgi.jmx.MBeanProxy;
 import org.jboss.osgi.jmx.ObjectNameFactory;
 import org.jboss.osgi.jmx.ServiceStateMBeanExt;
@@ -63,7 +64,7 @@
 {
    // Provide logging
    private static final Logger log = Logger.getLogger(RemoteRuntime.class);
-   
+
    private MBeanServerConnection mbeanServer;
    private JMXConnector jmxConnector;
 
@@ -77,7 +78,7 @@
    {
       return true;
    }
-   
+
    @Override
    OSGiBundle installBundleInternal(BundleInfo info) throws BundleException
    {
@@ -217,15 +218,16 @@
    @Override
    public MBeanServerConnection getMBeanServer()
    {
-      // Get the MBeanServerConnection through the RMIAdaptor
+      // Get the MBeanServerConnection through the JMXConnector
       if (mbeanServer == null)
       {
          try
          {
-            InitialContext iniCtx = getInitialContext();
-            mbeanServer = (MBeanServerConnection)iniCtx.lookup("osgi/jmx/RMIAdaptor");
+            JMXServiceURL serviceURL = JMXServiceURLFactory.getServiceURL(getServerHost(), null, null);
+            jmxConnector = JMXConnectorFactory.connect(serviceURL, null);
+            mbeanServer = jmxConnector.getMBeanServerConnection();
          }
-         catch (NamingException ex)
+         catch (IOException ex)
          {
             throw new IllegalStateException("Cannot obtain MBeanServerConnection");
          }
@@ -237,7 +239,7 @@
    public void shutdown()
    {
       super.shutdown();
-      
+
       // Close the JMXConnector
       if (jmxConnector != null)
       {



More information about the jboss-osgi-commits mailing list