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 -->