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 2012/03/04 20:40:19 UTC

svn commit: r1296864 - in /openejb/trunk/openejb: server/openejb-server/src/main/java/org/apache/openejb/server/ tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ tomee/tomee-common/src/main/java/org/apache/tomee/installer/

Author: rmannibucau
Date: Sun Mar  4 19:40:18 2012
New Revision: 1296864

URL: http://svn.apache.org/viewvc?rev=1296864&view=rev
Log:
using a service manager by default in tomee too

Added:
    openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEServiceManager.java
Modified:
    openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
    openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java
    openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
    openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java

Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java?rev=1296864&r1=1296863&r2=1296864&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java Sun Mar  4 19:40:18 2012
@@ -63,7 +63,11 @@ public abstract class ServiceManager {
     protected static void setServiceManager(ServiceManager newManager) {
         manager = newManager;
     }
-    
+
+    protected boolean accept(final String serviceName) {
+        return true;
+    }
+
     protected List<ServerService> initServers(Map<String, Properties> availableServices)
         throws IOException {
         List<ServerService> enabledServers = new ArrayList<ServerService>();
@@ -74,7 +78,7 @@ public abstract class ServiceManager {
             Properties serviceProperties = (Properties) entry.getValue();
             
             ServerService service = initServer(serviceName, serviceProperties);
-            if (service != null) {
+            if (service != null && accept(service.getName())) {
                 enabledServers.add(service);
             }
         }
@@ -122,7 +126,7 @@ public abstract class ServiceManager {
 
             try {
                 // Create Service
-                ServerService service = null;
+                ServerService service;
 
                 ObjectRecipe recipe = new ObjectRecipe(serviceClass);
                 try {

Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java?rev=1296864&r1=1296863&r2=1296864&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java Sun Mar  4 19:40:18 2012
@@ -153,9 +153,10 @@ public class SimpleServiceManager extend
 
         // starting then displaying to get a more relevant log
 
-        Exception[] errors = new Exception[daemons.length];
+        final Exception[] errors = new Exception[daemons.length];
         for (int i = 0; i < daemons.length; i++) {
-            ServerService d = daemons[i];
+            final ServerService d = daemons[i];
+
             LOGGER.info("Starting service " + d.getName());
             try {
                 d.start();

Added: openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEServiceManager.java?rev=1296864&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEServiceManager.java (added)
+++ openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEServiceManager.java Sun Mar  4 19:40:18 2012
@@ -0,0 +1,17 @@
+package org.apache.tomee.catalina;
+
+import org.apache.openejb.server.SimpleServiceManager;
+
+public class TomEEServiceManager extends SimpleServiceManager {
+    public TomEEServiceManager() {
+        setServiceManager(this);
+    }
+
+    @Override
+    protected boolean accept(final String serviceName) {
+        // managed manually or done in a different way in TomEE
+        return !"httpejbd".equals(serviceName)
+                && !"ejbd".equals(serviceName)
+                && !"ejbds".equals(serviceName);
+    }
+}

Modified: openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java?rev=1296864&r1=1296863&r2=1296864&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java (original)
+++ openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java Sun Mar  4 19:40:18 2012
@@ -51,7 +51,6 @@ import org.apache.tomee.installer.Paths;
 import org.apache.tomee.loader.TomcatHelper;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -222,14 +221,21 @@ public class TomcatLoader implements Loa
         // and modifies JNDI ENC references to OpenEJB managed objects such as EJBs.
         processRunningApplications(tomcatWebAppBuilder, standardServer);
 
-        if (SystemInstance.get().getOptions().get("openejb.servicemanager.enabled", false)) {
-            manager = ServiceManager.getManager();
+        final ClassLoader cl = TomcatLoader.class.getClassLoader();
+        if (SystemInstance.get().getOptions().get("openejb.servicemanager.enabled", true)) {
+            final String clazz = SystemInstance.get().getOptions().get("openejb.service.manager.class", "org.apache.tomee.catalina.TomEEServiceManager");
+            try {
+                manager = (ServiceManager) cl.loadClass(clazz).newInstance();
+            } catch (ClassNotFoundException cnfe) {
+                logger.error("can't find the service manager " + clazz + ", the TomEE one will be used");
+                manager = new TomEEServiceManager();
+            }
             manager.init();
             manager.start(false);
         } else {
             // WS
             try {
-                ServerService cxfService = (ServerService) Class.forName("org.apache.openejb.server.cxf.CxfService").newInstance();
+                ServerService cxfService = (ServerService) cl.loadClass("org.apache.openejb.server.cxf.CxfService").newInstance();
                 cxfService.start();
                 services.add(cxfService);
             } catch (ClassNotFoundException ignored) {
@@ -240,7 +246,7 @@ public class TomcatLoader implements Loa
 
             // REST
             try {
-                ServerService restService = (ServerService) Class.forName("org.apache.openejb.server.cxf.rs.CxfRSService").newInstance();
+                ServerService restService = (ServerService) cl.loadClass("org.apache.openejb.server.cxf.rs.CxfRSService").newInstance();
                 restService.start();
                 services.add(restService);
             } catch (ClassNotFoundException ignored) {

Modified: openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java?rev=1296864&r1=1296863&r2=1296864&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java (original)
+++ openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java Sun Mar  4 19:40:18 2012
@@ -446,7 +446,7 @@ public class Installer {
                 systemPropertiesWriter.write("# tomee.jaxws.oldsubcontext = false\n");
 
                 systemPropertiesWriter.write("\n");
-                systemPropertiesWriter.write("# openejb.servicemanager.enabled = false\n");
+                systemPropertiesWriter.write("# openejb.servicemanager.enabled = true\n");
                 systemPropertiesWriter.write("# openejb.descriptors.output = false\n");
                 systemPropertiesWriter.write("# openejb.strict.interface.declaration = false\n");
                 systemPropertiesWriter.write("# openejb.conf.file = conf/tomee.xml\n");