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