You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by sa...@apache.org on 2006/08/31 13:22:17 UTC

svn commit: r438863 - in /incubator/felix/sandbox/santillan/org.apache.felix.jmood: pom.xml src/main/java/org/apache/felix/jmood/Activator.java

Author: santillan
Date: Thu Aug 31 04:22:17 2006
New Revision: 438863

URL: http://svn.apache.org/viewvc?rev=438863&view=rev
Log:
Refactored to remove mx4j's dependency. Small bug fixed

Modified:
    incubator/felix/sandbox/santillan/org.apache.felix.jmood/pom.xml
    incubator/felix/sandbox/santillan/org.apache.felix.jmood/src/main/java/org/apache/felix/jmood/Activator.java

Modified: incubator/felix/sandbox/santillan/org.apache.felix.jmood/pom.xml
URL: http://svn.apache.org/viewvc/incubator/felix/sandbox/santillan/org.apache.felix.jmood/pom.xml?rev=438863&r1=438862&r2=438863&view=diff
==============================================================================
--- incubator/felix/sandbox/santillan/org.apache.felix.jmood/pom.xml (original)
+++ incubator/felix/sandbox/santillan/org.apache.felix.jmood/pom.xml Thu Aug 31 04:22:17 2006
@@ -18,12 +18,6 @@
     </dependency>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.apache.felix.main</artifactId>
-      <version>${pom.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
       <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
@@ -39,11 +33,6 @@
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>mx4j</groupId>
-      <artifactId>mx4j-tools</artifactId>
-      <version>1.1</version>
     </dependency>
   </dependencies>
   <build>

Modified: incubator/felix/sandbox/santillan/org.apache.felix.jmood/src/main/java/org/apache/felix/jmood/Activator.java
URL: http://svn.apache.org/viewvc/incubator/felix/sandbox/santillan/org.apache.felix.jmood/src/main/java/org/apache/felix/jmood/Activator.java?rev=438863&r1=438862&r2=438863&view=diff
==============================================================================
--- incubator/felix/sandbox/santillan/org.apache.felix.jmood/src/main/java/org/apache/felix/jmood/Activator.java (original)
+++ incubator/felix/sandbox/santillan/org.apache.felix.jmood/src/main/java/org/apache/felix/jmood/Activator.java Thu Aug 31 04:22:17 2006
@@ -24,7 +24,11 @@
 import java.lang.reflect.Method;
 import java.net.InetAddress;
 import java.net.URL;
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
 import java.rmi.server.ExportException;
+import java.rmi.server.UnicastRemoteObject;
 import java.util.Properties;
 
 import javax.management.InstanceAlreadyExistsException;
@@ -39,7 +43,6 @@
 import javax.management.remote.JMXConnectorServerFactory;
 import javax.management.remote.JMXServiceURL;
 
-import mx4j.tools.naming.NamingService;
 
 import org.apache.felix.jmood.core.CoreController;
 import org.apache.felix.jmood.core.Framework;
@@ -55,10 +58,9 @@
     private JMXConnectorServer connectorServer;
     private int rmiRegistryPort = 1199;
     private AgentContext ac;
-    private static final String rmiregOname="RemotingService:type=NamingService,subtype=RMIRegistry, provider=MX4J";
     private static final String connectoServerOname="RemotingService:type=ConnectorServer, subtype=RMIConnectorServer, provider=JRE";
     private CompendiumController compendium;
-    private NamingService rmiRegistry;
+    private Registry rmiRegistry;
     
 
     public void start(BundleContext context) throws Exception {
@@ -157,16 +159,19 @@
      */
 
     private void initRMIConn() throws IOException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, MalformedObjectNameException, NullPointerException, InstanceNotFoundException {
-        rmiRegistry=new NamingService(rmiRegistryPort);
-        ObjectName rmiRegName = new ObjectName(rmiregOname);
-        server.registerMBean(rmiRegistry, rmiRegName);
-        try {
-        rmiRegistry.start();
-        } catch (ExportException e) {
-            ac.warning(e.getMessage()+"\n"+"Possibly some other framework already running, skipping RMI setup");
-          server.unregisterMBean(rmiRegName);
-          return;
-       }
+    	Thread t=new Thread(){
+    		public void run() {
+    	        try {
+    	        	rmiRegistry=LocateRegistry.createRegistry(rmiRegistryPort);
+    	            } catch (RemoteException e) {
+    	                ac.warning(e.getMessage()+"\n"+"Possibly some other framework already running, skipping RMI registry creation");
+    	              return;
+    	           }
+    		}
+    	};
+    	t.setName("RMIREGISTRY");
+    	t.setContextClassLoader(this.getClass().getClassLoader());
+    	t.start();
         InetAddress[] addresses=InetAddress.getAllByName(InetAddress.getLocalHost().getCanonicalHostName());
         //Do not attach the agent to the loopback address
         InetAddress address=null;
@@ -196,9 +201,9 @@
     }
     private void stopRMIConn() throws Exception {
         this.connectorServer.stop();
-		this.rmiRegistry.stop();
-        this.server.unregisterMBean(new ObjectName(rmiregOname));
+        UnicastRemoteObject.unexportObject(this.rmiRegistry, true);
         this.server.unregisterMBean(new ObjectName(connectoServerOname));
+        
     }
     
     private void registerMBeans() throws Exception{