summaryrefslogtreecommitdiff
path: root/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java')
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java
index 232295811c..92a142e402 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java
+++ b/qpid/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);
+ }
}
}