From 1a3494f818778245b81c0ece7cd4430e4f3a9783 Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Tue, 2 Sep 2008 14:26:50 +0000 Subject: QPID-1119 : modified the delay method to ensure that it always sleeps for the required time. Added logging to verify git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@691260 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/qpid/server/store/SlowMessageStore.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'java') diff --git a/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java b/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java index 232295811c..92a142e402 100644 --- a/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java +++ b/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java @@ -48,6 +48,7 @@ public class SlowMessageStore implements MessageStore public void configure(VirtualHost virtualHost, String base, Configuration config) throws Exception { + _logger.info("Starting SlowMessageStore on Virtualhost:" + virtualHost.getName()); Configuration delays = config.subset(base + "." + DELAYS); configureDelays(delays); @@ -119,14 +120,28 @@ public class SlowMessageStore implements MessageStore { if (delay > 0) { + long start = System.nanoTime(); try { + Thread.sleep(delay); } catch (InterruptedException e) { _logger.warn("Interrupted : " + e); } + + long slept = (System.nanoTime() - start) / 1000000; + + if (slept >= delay) + { + _logger.info("Done sleep for:" + slept+":"+delay); + } + else + { + _logger.info("Only sleep for:" + slept + " re-sleeping"); + doDelay(delay - slept); + } } } -- cgit v1.2.1