You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/12/05 17:55:02 UTC

svn commit: r1210526 - in /openejb/trunk/openejb: container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java server/openejb-server/src/main/java/org/apache/openejb/server/osgi/Activator.java

Author: rmannibucau
Date: Mon Dec  5 16:55:02 2011
New Revision: 1210526

URL: http://svn.apache.org/viewvc?rev=1210526&view=rev
Log:
in openejb-server if no service manager is found creating one

Modified:
    openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
    openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/osgi/Activator.java

Modified: openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java?rev=1210526&r1=1210525&r2=1210526&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java (original)
+++ openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java Mon Dec  5 16:55:02 2011
@@ -69,6 +69,14 @@ public class Activator implements Bundle
         // should be registered through openejb-server
         try {
             ServiceReference serviceManager = context.getServiceReference(SERVICE_MANAGER_NAME);
+            if (serviceManager == null) { // register a new instance
+                Object sm = context.getBundle().loadClass(SERVICE_MANAGER_NAME)
+                                .getConstructor(BundleContext.class)
+                                .newInstance(context);
+                context.registerService(SERVICE_MANAGER_NAME, sm, null);
+                serviceManager = context.getServiceReference(SERVICE_MANAGER_NAME);
+            }
+
             invoke(serviceManager, "init");
             invoke(serviceManager, "start");
         } catch (Exception e) {

Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/osgi/Activator.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/osgi/Activator.java?rev=1210526&r1=1210525&r2=1210526&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/osgi/Activator.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/osgi/Activator.java Mon Dec  5 16:55:02 2011
@@ -30,8 +30,10 @@ public class Activator implements Bundle
     private ServiceRegistration registration;
     
     public void start(BundleContext bundleContext) throws Exception {
-        manager = new ServiceManagerExtender(bundleContext);        
-        registration = bundleContext.registerService(ServiceManager.class.getName(), manager, null);     
+        if (bundleContext.getServiceReference(ServiceManager.class.getName()) == null) { // can be registered from openejb-server too
+            manager = new ServiceManagerExtender(bundleContext);
+            registration = bundleContext.registerService(ServiceManager.class.getName(), manager, null);
+        }
     }
 
     public void stop(BundleContext bundleContext) throws Exception {