You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2012/07/19 14:39:17 UTC

svn commit: r1363314 - /activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java

Author: gtully
Date: Thu Jul 19 12:39:16 2012
New Revision: 1363314

URL: http://svn.apache.org/viewvc?rev=1363314&view=rev
Log:
allow the sleep time to be specified to allow finer grain return from a wait

Modified:
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java

Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java?rev=1363314&r1=1363313&r2=1363314&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java Thu Jul 19 12:39:16 2012
@@ -18,9 +18,12 @@
 package org.apache.activemq.util;
 
 
+import java.util.concurrent.TimeUnit;
+
 public class Wait {
     
     public static final long MAX_WAIT_MILLIS = 30*1000;
+    public static final int SLEEP_MILLIS = 1000;
     
     public interface Condition {
         boolean isSatisified() throws Exception;
@@ -29,12 +32,17 @@ public class Wait {
     public static boolean waitFor(Condition condition) throws Exception {
         return waitFor(condition, MAX_WAIT_MILLIS);
     }
-    
+
     public static boolean waitFor(final Condition condition, final long duration) throws Exception {
+        return waitFor(condition, MAX_WAIT_MILLIS, SLEEP_MILLIS);
+    }
+
+    public static boolean waitFor(final Condition condition, final long duration, final int sleepMillis) throws Exception {
+
         final long expiry = System.currentTimeMillis() + duration;
         boolean conditionSatisified = condition.isSatisified();
         while (!conditionSatisified && System.currentTimeMillis() < expiry) {
-            Thread.sleep(1000);
+            TimeUnit.MILLISECONDS.sleep(sleepMillis);
             conditionSatisified = condition.isSatisified();
         }   
         return conditionSatisified;