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");