[jboss-svn-commits] JBL Code SVN: r14254 - labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/esb/persistence/tests.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Aug 15 09:50:43 EDT 2007


Author: kevin.conner at jboss.com
Date: 2007-08-15 09:50:43 -0400 (Wed, 15 Aug 2007)
New Revision: 14254

Modified:
   labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/esb/persistence/tests/RedeliverUnitTest.java
Log:
Remove spinning

Modified: labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/esb/persistence/tests/RedeliverUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/esb/persistence/tests/RedeliverUnitTest.java	2007-08-15 13:50:18 UTC (rev 14253)
+++ labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/esb/persistence/tests/RedeliverUnitTest.java	2007-08-15 13:50:43 UTC (rev 14254)
@@ -30,6 +30,7 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
 
 import java.io.File;
 import java.net.URI;
@@ -172,17 +173,12 @@
         t1.start();
         t2.start();
         
-        long deadline=System.currentTimeMillis() + 20000;
-        boolean waiting=true;
-
-        while(waiting) {
-            
-            if (client1.isDone() && client2.isDone()) {
-                waiting=false;
-            } else if (System.currentTimeMillis() > deadline){
-                //We're timing out for some reason. This is bad.
-                assertTrue(false);
-            }
+        final long deadline = System.currentTimeMillis() + 20000 ;
+        waitForThread(t1, deadline) ;
+        waitForThread(t2, deadline) ;
+        if (!client1.isDone() || !client2.isDone()) {
+            //We're timing out for some reason. This is bad.
+            fail("Timeout waiting for client threads to terminate");
         }
         log.info("Client1 processed " + client1.getCount() + " messages");
         log.info("Client2 processed " + client2.getCount() + " messages");
@@ -191,6 +187,17 @@
         Message message = store.getMessage(uid);  
         assertNull(message);
     }
+    
+    private static final void waitForThread(final Thread th, final long deadline) {
+        final long period = deadline - System.currentTimeMillis() ;
+        if (period > 0) {
+            try {
+                th.join(period) ;
+            } catch (final InterruptedException ie) {
+                Thread.currentThread().interrupt() ;
+            }
+        }
+    }
     /*
      * Deliver to undeliverable Service
      */




More information about the jboss-svn-commits mailing list