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 2009/11/20 13:02:58 UTC

svn commit: r882526 - /activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/usecases/ExpiredMessagesTest.java

Author: gtully
Date: Fri Nov 20 12:02:57 2009
New Revision: 882526

URL: http://svn.apache.org/viewvc?rev=882526&view=rev
Log:
merge -c 882510 - some more resiliance to slow hardware for this test

Modified:
    activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/usecases/ExpiredMessagesTest.java

Modified: activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/usecases/ExpiredMessagesTest.java
URL: http://svn.apache.org/viewvc/activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/usecases/ExpiredMessagesTest.java?rev=882526&r1=882525&r2=882526&view=diff
==============================================================================
--- activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/usecases/ExpiredMessagesTest.java (original)
+++ activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/usecases/ExpiredMessagesTest.java Fri Nov 20 12:02:57 2009
@@ -37,6 +37,7 @@
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
 import javax.jms.Session;
+import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
 import junit.framework.Test;
 
@@ -243,25 +244,27 @@
         final boolean deleteAllMessages = false;
         broker = createBroker(deleteAllMessages, 5000);
         
-        view = createView(destination);
-        LOG.info("Stats: size: " + view.getQueueSize() + ", enqueues: "
-                + view.getDequeueCount() + ", dequeues: "
-                + view.getDequeueCount() + ", dispatched: "
-                + view.getDispatchCount() + ", inflight: "
-                + view.getInFlightCount() + ", expiries: "
-                + view.getExpiredCount());
+        Wait.waitFor(new Wait.Condition() {
+            public boolean isSatisified() throws Exception {
+                boolean result = false;
+                try {
+                    DestinationViewMBean view = createView(destination);
+                    LOG.info("Stats: size: " + view.getQueueSize() + ", enqueues: "
+                            + view.getDequeueCount() + ", dequeues: "
+                            + view.getDequeueCount() + ", dispatched: "
+                            + view.getDispatchCount() + ", inflight: "
+                            + view.getInFlightCount() + ", expiries: "
+                            + view.getExpiredCount());
 
-        long expiry = System.currentTimeMillis() + 30000;
-        while (view.getQueueSize() > 0 && System.currentTimeMillis() < expiry) {
-            Thread.sleep(500);
-        }
-        LOG.info("Stats: size: " + view.getQueueSize() + ", enqueues: "
-                + view.getDequeueCount() + ", dequeues: "
-                + view.getDequeueCount() + ", dispatched: "
-                + view.getDispatchCount() + ", inflight: "
-                + view.getInFlightCount() + ", expiries: "
-                + view.getExpiredCount());
-        assertEquals("Wrong QueueSize: ", 0, view.getQueueSize());
+                    result = view.getQueueSize() == 0;
+                } catch (InstanceNotFoundException expectedOnSlowMachines) {
+                }
+                return result;
+            }
+        });
+        
+        view = createView(destination);
+        assertEquals("Expect empty queue, QueueSize: ", 0, view.getQueueSize());
         assertEquals("all dequeues were expired", view.getDequeueCount(), view.getExpiredCount());
     }