You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2011/11/29 11:00:35 UTC

svn commit: r1207807 - in /karaf/trunk/management/server/src/main: java/org/apache/karaf/management/RmiRegistryFactory.java resources/OSGI-INF/blueprint/karaf-management.xml

Author: jbonofre
Date: Tue Nov 29 10:00:33 2011
New Revision: 1207807

URL: http://svn.apache.org/viewvc?rev=1207807&view=rev
Log:
[KARAF-942] Expose the RMI registry as an OSGi service

Modified:
    karaf/trunk/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java
    karaf/trunk/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml

Modified: karaf/trunk/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java
URL: http://svn.apache.org/viewvc/karaf/trunk/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java?rev=1207807&r1=1207806&r2=1207807&view=diff
==============================================================================
--- karaf/trunk/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java (original)
+++ karaf/trunk/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java Tue Nov 29 10:00:33 2011
@@ -16,15 +16,13 @@
  */
 package org.apache.karaf.management;
 
+import org.osgi.framework.BundleContext;
+
 import java.rmi.RemoteException;
 import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
 import java.rmi.server.UnicastRemoteObject;
 
-/**
- * 
- * @author gnodet
- */
 public class RmiRegistryFactory {
 
     private int port = Registry.REGISTRY_PORT;
@@ -32,6 +30,8 @@ public class RmiRegistryFactory {
     private boolean locate;
     private boolean create = true;
     private boolean locallyCreated;
+
+    private BundleContext bundleContext;
     
     /**
      * @return the create
@@ -79,6 +79,10 @@ public class RmiRegistryFactory {
         return registry;
     }
 
+    public void setBundleContext(BundleContext bundleContext) {
+        this.bundleContext = bundleContext;
+    }
+
     public void init() throws RemoteException {
         if (registry == null && locate) {
             try {
@@ -93,6 +97,10 @@ public class RmiRegistryFactory {
             registry = LocateRegistry.createRegistry(getPort());
             locallyCreated = true;
         }
+        if (registry != null) {
+            // register the registry as an OSGi service
+            bundleContext.registerService(Registry.class.getName(), registry, null);
+        }
     }
 
     public void destroy() throws RemoteException {

Modified: karaf/trunk/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml?rev=1207807&r1=1207806&r2=1207807&view=diff
==============================================================================
--- karaf/trunk/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml (original)
+++ karaf/trunk/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml Tue Nov 29 10:00:33 2011
@@ -69,6 +69,7 @@
         <property name="create" value="true"/>
         <property name="locate" value="true"/>
         <property name="port" value="${rmiRegistryPort}"/>
+        <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
 
     <!-- Create a JMX connector ServiceFactory -->