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 2016/07/22 08:02:59 UTC

[1/2] tomee git commit: fixing wrong ServerServlet default + adding debug option to remote EJBContainer

Repository: tomee
Updated Branches:
  refs/heads/master 6c3a16d5c -> f38677d14


fixing wrong ServerServlet default + adding debug option to remote EJBContainer


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/c6f737d9
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/c6f737d9
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/c6f737d9

Branch: refs/heads/master
Commit: c6f737d93b0132561925996b22f083b371d870b2
Parents: 6c3a16d
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Fri Jul 22 09:24:00 2016 +0200
Committer: Romain manni-Bucau <rm...@gmail.com>
Committed: Fri Jul 22 09:24:00 2016 +0200

----------------------------------------------------------------------
 .../org/apache/openejb/config/RemoteServer.java | 22 +++++++++++-----
 .../openejb/server/httpd/ServerServlet.java     |  2 +-
 .../apache/tomee/RemoteTomEEEJBContainer.java   | 27 +++++++++++++++-----
 .../apache/tomee/RemoteTomEEEJBContainerIT.java | 21 +++++++++++++--
 4 files changed, 57 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/c6f737d9/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
index a127235..6cb1ef4 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
@@ -60,7 +60,7 @@ public class RemoteServer {
     public static final String START = "start";
     public static final String STOP = "stop";
 
-    private final boolean debug = options.get(OPENEJB_SERVER_DEBUG, false);
+    private boolean debug = options.get(OPENEJB_SERVER_DEBUG, false);
     private final boolean profile = options.get("openejb.server.profile", false);
     private final boolean tomcat;
     private final String javaOpts = System.getProperty("java.opts");
@@ -397,22 +397,26 @@ public class RemoteServer {
             public void run() {
                 try {
                     p.waitFor();
+                    synchronized (kill) {
+                        kill.remove(p);
+                    }
                 } catch (final InterruptedException e) {
-                    //Ignore
+                    Thread.interrupted();
+                } finally {
+                    latch.countDown();
                 }
-
-                latch.countDown();
             }
         }, "process-waitFor");
 
         t.start();
 
         try {
-            if (!latch.await(10, TimeUnit.SECONDS)) {
+            if (!latch.await(Integer.getInteger("openejb.server.waitFor.seconds", 10), TimeUnit.SECONDS)) {
                 killOnExit(p);
                 throw new RuntimeException("Timeout waiting for process");
             }
         } catch (final InterruptedException e) {
+            Thread.interrupted();
             killOnExit(p);
         }
     }
@@ -685,7 +689,9 @@ public class RemoteServer {
     }
 
     private static void killOnExit(final Process p) {
-        kill.add(p);
+        synchronized (kill) {
+            kill.add(p);
+        }
     }
 
     // Shutdown hook for processes
@@ -695,6 +701,10 @@ public class RemoteServer {
         Runtime.getRuntime().addShutdownHook(new CleanUpThread());
     }
 
+    public void setDebug(final boolean debug) {
+        this.debug = debug;
+    }
+
     public static class CleanUpThread extends Thread {
         @Override
         public void run() {

http://git-wip-us.apache.org/repos/asf/tomee/blob/c6f737d9/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/ServerServlet.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/ServerServlet.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/ServerServlet.java
index 9f424b6..5383a34 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/ServerServlet.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/ServerServlet.java
@@ -43,7 +43,7 @@ public class ServerServlet extends HttpServlet {
         if (activatedStr != null) {
             activated = Boolean.parseBoolean(activatedStr);
         } else {
-            activated = Boolean.getBoolean(getClass().getName() + '.' + ACTIVATED_INIT_PARAM);
+            activated = Boolean.parseBoolean(System.getProperty(getClass().getName() + '.' + ACTIVATED_INIT_PARAM, "true"));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/c6f737d9/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java
----------------------------------------------------------------------
diff --git a/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java b/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java
index 8adeed7..7b89751 100644
--- a/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java
+++ b/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java
@@ -31,15 +31,19 @@ import javax.ejb.embeddable.EJBContainer;
 import javax.ejb.spi.EJBContainerProvider;
 import javax.naming.Context;
 import javax.naming.InitialContext;
+import javax.naming.NamingException;
 import javax.validation.ValidationException;
 import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
+import static java.lang.Thread.sleep;
+
 public class RemoteTomEEEJBContainer extends EJBContainer {
     private static RemoteTomEEEJBContainer instance;
     private RemoteServer container;
@@ -60,7 +64,8 @@ public class RemoteTomEEEJBContainer extends EJBContainer {
         private static final List<String> CONTAINER_NAMES = Arrays.asList(RemoteTomEEEJBContainer.class.getName(), "tomee-remote", "remote-tomee");
 
         @Override
-        public EJBContainer createEJBContainer(final Map<?, ?> properties) {
+        public EJBContainer createEJBContainer(final Map<?, ?> rawProperties) {
+            final Map<?, ?> properties = rawProperties == null ? new HashMap<>() : rawProperties;
             final Object provider = properties.get(EJBContainer.PROVIDER);
             int ejbContainerProviders = 1;
             try {
@@ -99,6 +104,7 @@ public class RemoteTomEEEJBContainer extends EJBContainer {
             try {
                 instance = new RemoteTomEEEJBContainer();
                 instance.container = new RemoteServer();
+                instance.container.setDebug("true".equalsIgnoreCase(String.valueOf(properties.get("debug"))));
                 instance.container.setPortStartup(Integer.parseInt(parser.http()));
 
                 try {
@@ -113,14 +119,23 @@ public class RemoteTomEEEJBContainer extends EJBContainer {
 
                 instance.context = new InitialContext(new Properties() {{
                     setProperty(Context.INITIAL_CONTEXT_FACTORY, RemoteInitialContextFactory.class.getName());
-                    setProperty(Context.PROVIDER_URL, remoteEjb);
+                    setProperty(Context.PROVIDER_URL, String.valueOf(properties.containsKey(Context.PROVIDER_URL) ? properties.get(Context.PROVIDER_URL) : remoteEjb));
                 }});
 
                 Deployer deployer = null;
-                for (int i = 0; i < (properties.containsKey("retries") ? Integer.parseInt(String.class.cast(properties.get("retries"))) : 20); i++) {
-                    deployer = Deployer.class.cast(instance.context.lookup("openejb/DeployerBusinessRemote"));
-                    if (deployer != null) {
-                        break;
+                for (int i = 0; i < (properties.containsKey("retries") ? Integer.parseInt(String.class.cast(properties.get("retries"))) : 4); i++) {
+                    try {
+                        deployer = Deployer.class.cast(instance.context.lookup("openejb/DeployerBusinessRemote"));
+                        if (deployer != null) {
+                            break;
+                        }
+                    } catch (final NamingException ne) {
+                        try {
+                            sleep(250);
+                        } catch (final InterruptedException ie) {
+                            Thread.interrupted();
+                            break;
+                        }
                     }
                 }
                 if (deployer == null) {

http://git-wip-us.apache.org/repos/asf/tomee/blob/c6f737d9/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
----------------------------------------------------------------------
diff --git a/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java b/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
index 17731b9..ec1cb75 100644
--- a/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
+++ b/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
@@ -19,6 +19,7 @@ package org.apache.tomee;
 import org.apache.openejb.loader.Files;
 import org.apache.openejb.loader.IO;
 import org.apache.openejb.util.NetworkUtil;
+import org.junit.After;
 import org.junit.Test;
 
 import javax.ejb.embeddable.EJBContainer;
@@ -33,7 +34,20 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 public class RemoteTomEEEJBContainerIT {
-    @Test
+    private EJBContainer container;
+
+    @After
+    public void close() {
+        try {
+            if (container != null) {
+                container.close();
+            }
+        } catch (final RuntimeException re) {
+            // no-op
+        }
+    }
+
+    @Test(timeout = 300000)
     public void run() throws IOException {
         final File app = new File("target/mock/webapp");
         Files.mkdirs(app);
@@ -77,18 +91,21 @@ public class RemoteTomEEEJBContainerIT {
             "</Server>\n");
         serverXml.close();
 
-        EJBContainer container = null;
+        container = null;
         try {
             container = EJBContainer.createEJBContainer(new HashMap<Object, Object>() {{
                 put(EJBContainer.PROVIDER, "tomee-remote");
                 put(EJBContainer.MODULES, app.getAbsolutePath());
                 put("openejb.home", tomee.getAbsolutePath());
+                put("retries", "120");
+                put("debug", System.getProperty("RemoteTomEEEJBContainerIT.debug", "false"));
             }});
             final URL url = new URL("http://localhost:" + http + "/webapp/index.html");
             assertEquals("Hello", IO.slurp(url));
         } finally {
             if (container != null) {
                 container.close();
+                container = null;
             }
         }
     }


[2/2] tomee git commit: TOMEE-1882 add tomcat-juli to tomee scripts classpath

Posted by rm...@apache.org.
TOMEE-1882 add tomcat-juli to tomee scripts classpath


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/f38677d1
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/f38677d1
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/f38677d1

Branch: refs/heads/master
Commit: f38677d1418a79a7e09c072d67480d1270a70ff0
Parents: c6f737d
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Fri Jul 22 10:02:39 2016 +0200
Committer: Romain manni-Bucau <rm...@gmail.com>
Committed: Fri Jul 22 10:02:39 2016 +0200

----------------------------------------------------------------------
 tomee/apache-tomee/src/main/resources/tomee.bat | 19 +++++++++++++++----
 tomee/apache-tomee/src/main/resources/tomee.sh  |  4 +++-
 2 files changed, 18 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/f38677d1/tomee/apache-tomee/src/main/resources/tomee.bat
----------------------------------------------------------------------
diff --git a/tomee/apache-tomee/src/main/resources/tomee.bat b/tomee/apache-tomee/src/main/resources/tomee.bat
index cf7c357..e69b78d 100644
--- a/tomee/apache-tomee/src/main/resources/tomee.bat
+++ b/tomee/apache-tomee/src/main/resources/tomee.bat
@@ -10,7 +10,7 @@ rem U.S. Copyright Office.
 rem
 
 
-if "%OS%" == "Windows_NT" setlocal
+setlocal
 
 set port=8080
 
@@ -39,6 +39,13 @@ rem Ensure that any user defined CLASSPATH variables are not used on startup,
 rem but allow them to be specified in setenv.bat, in rare case when it is needed.
 set CLASSPATH=
 
+if not exist "%CATALINA_BASE%\bin\tomcat-juli.jar" goto juliClasspathHome
+set "CLASSPATH=%CLASSPATH%;%CATALINA_BASE%\bin\tomcat-juli.jar"
+goto juliClasspathDone
+:juliClasspathHome
+set "CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\tomcat-juli.jar"
+:juliClasspathDone
+
 rem Get standard Java environment variables
 if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
 echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
@@ -52,9 +59,13 @@ if DEFINED CATALINA_TMPDIR goto gotTmpdir
 set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"
 :gotTmpdir
 
-
-rem create classpath
-set "CLASSPATH=%CATALINA_HOME%\lib\*"
+if not exist %CATALINA_BASE% goto :libClasspathHome
+set CLASSPATH=%CLASSPATH%;%CATALINA_BASE%\lib\*
+if "%CATALINA_BASE%" equ %CATALINA_HOME% goto :libClasspathDone
+:libClasspathHome
+if not exist %CATALINA_HOME% goto :libClasspathDone
+set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\lib\*
+:libClasspathDone
 
 set DEBUG=
 set "args=%*"

http://git-wip-us.apache.org/repos/asf/tomee/blob/f38677d1/tomee/apache-tomee/src/main/resources/tomee.sh
----------------------------------------------------------------------
diff --git a/tomee/apache-tomee/src/main/resources/tomee.sh b/tomee/apache-tomee/src/main/resources/tomee.sh
index 7461d6e..1a02897 100644
--- a/tomee/apache-tomee/src/main/resources/tomee.sh
+++ b/tomee/apache-tomee/src/main/resources/tomee.sh
@@ -79,6 +79,7 @@ fi
 if [ ! -z "$CLASSPATH" ] ; then
   CLASSPATH="$CLASSPATH":
 fi
+CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar
 
 if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then
   CLASSPATH=$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar
@@ -99,7 +100,7 @@ if [ -z "$JSSE_OPTS" ] ; then
 fi
 JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"
 
-CLASSPATH="$CATALINA_HOME/lib"
+CLASSPATH="$CLASSPATH:$CATALINA_HOME/lib"
 for i in "$CATALINA_HOME"/lib/*.jar; do
   CLASSPATH="$CLASSPATH:$i"
 done
@@ -131,3 +132,4 @@ elif [ "$1" = "start" ] || [ "$1" = "stop" ]; then
 else
     "$_RUNJAVA" $DEBUG $LOGGING_MANAGER -Dopenejb.base="$CATALINA_BASE" -cp "$CLASSPATH" org.apache.openejb.cli.Bootstrap $*
 fi
+