You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2013/11/28 19:13:28 UTC

svn commit: r1546429 - /tomee/tomee/trunk/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java

Author: tveronezi
Date: Thu Nov 28 18:13:28 2013
New Revision: 1546429

URL: http://svn.apache.org/r1546429
Log:
Retry connection after 10 seconds in case of failure.
Slow machines (like mine. :) ) may not have a chance to startup derby before que connection request.

Modified:
    tomee/tomee/trunk/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java

Modified: tomee/tomee/trunk/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java?rev=1546429&r1=1546428&r2=1546429&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java (original)
+++ tomee/tomee/trunk/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java Thu Nov 28 18:13:28 2013
@@ -16,13 +16,16 @@
  */
 package org.apache.openejb.server.derbynet;
 
+
 import org.apache.openejb.server.ServerService;
 import org.apache.openejb.server.ServiceFinder;
 import org.apache.openejb.server.SimpleServiceManager;
 import org.apache.openejb.util.NetworkUtil;
+import org.junit.Assert;
 import org.junit.Test;
 
 import java.io.IOException;
+import java.net.ConnectException;
 import java.net.Socket;
 import java.util.HashMap;
 import java.util.Map;
@@ -33,6 +36,22 @@ import java.util.Properties;
  */
 public class DerbyNetworkServiceTest {
 
+    private static final long RETRY_TIMEOUT = 10000;
+
+    private void connectSocket(int port) {
+        try {
+            try {
+                new Socket("localhost", port);
+            } catch (ConnectException e) {
+                // OK it didn't fully started yet. Wait a bit and try it again.
+                Thread.sleep(RETRY_TIMEOUT);
+                new Socket("localhost", port);
+            }
+        } catch (Exception e) {
+            Assert.fail("Impossible to connect using port\"" + port + "\". Message: " + e.getMessage());
+        }
+    }
+
     @Test
     public void test() throws Exception {
         final int port = NetworkUtil.getNextAvailablePort();
@@ -53,9 +72,7 @@ public class DerbyNetworkServiceTest {
 
         serviceManager.init();
         serviceManager.start(false);
-
-        final Socket derbyClient = new Socket("localhost", port);
-
+        connectSocket(port);
         serviceManager.stop();
     }
 }