Author: gtully
Date: Tue Sep 11 14:14:36 2012
New Revision: 1383426

URL: http://svn.apache.org/viewvc?rev=1383426&view=rev
Log:
https://issues.apache.org/jira/browse/AMQ-3985 - fix up timeing issue in test 
post change to asyncDispatch for temp dest advisories

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

Modified: 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsTempDestinationTest.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsTempDestinationTest.java?rev=1383426&r1=1383425&r2=1383426&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsTempDestinationTest.java
 (original)
+++ 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsTempDestinationTest.java
 Tue Sep 11 14:14:36 2012
@@ -44,6 +44,7 @@ import javax.jms.TextMessage;
 import junit.framework.TestCase;
 import org.apache.activemq.transport.TransportListener;
 import org.apache.activemq.transport.vm.VMTransport;
+import org.apache.activemq.util.Wait;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -246,16 +247,24 @@ public class JmsTempDestinationTest exte
      * @throws JMSException
      * @throws InterruptedException
      */
-    public void testPublishFailsForDestoryedTempDestination() throws 
JMSException, InterruptedException {
+    public void testPublishFailsForDestroyedTempDestination() throws Exception 
{
 
         Connection tempConnection = factory.createConnection();
         connections.add(tempConnection);
         Session tempSession = tempConnection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
-        TemporaryQueue queue = tempSession.createTemporaryQueue();
+        final TemporaryQueue queue = tempSession.createTemporaryQueue();
 
         Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
         connection.start();
 
+        final ActiveMQConnection activeMQConnection = (ActiveMQConnection) 
connection;
+        assertTrue("creation advisory received in time with async dispatch", 
Wait.waitFor(new Wait.Condition() {
+            @Override
+            public boolean isSatisified() throws Exception {
+                return 
activeMQConnection.activeTempDestinations.containsKey(queue);
+            }
+        }));
+
         // This message delivery should work since the temp connection is still
         // open.
         MessageProducer producer = session.createProducer(queue);


Reply via email to