From d65dd679c2c0cd16e9bfdbb276abf9bee5a73469 Mon Sep 17 00:00:00 2001 From: John Blum Date: Tue, 14 Aug 2018 18:24:07 -0700 Subject: [PATCH] Add overloaded waitOn(..) method to supply Condition, duration and interval. --- .../tests/integration/IntegrationTestsSupport.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/integration/IntegrationTestsSupport.java b/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/integration/IntegrationTestsSupport.java index e78c534..7e3cc7c 100644 --- a/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/integration/IntegrationTestsSupport.java +++ b/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/integration/IntegrationTestsSupport.java @@ -128,15 +128,20 @@ public abstract class IntegrationTestsSupport { return waitOn(condition, DEFAULT_WAIT_DURATION); } - @SuppressWarnings("all") protected static boolean waitOn(Condition condition, long duration) { + return waitOn(condition, duration, DEFAULT_WAIT_INTERVAL); + } + @SuppressWarnings("all") + protected static boolean waitOn(Condition condition, long duration, long interval) { + + long resolvedInterval = Math.max(Math.min(interval, duration), 1); long timeout = System.currentTimeMillis() + duration; try { while (!condition.evaluate() && System.currentTimeMillis() < timeout) { synchronized (condition) { - TimeUnit.MILLISECONDS.timedWait(condition, DEFAULT_WAIT_INTERVAL); + TimeUnit.MILLISECONDS.timedWait(condition, resolvedInterval); } } }