You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2012/04/11 22:19:36 UTC

svn commit: r1324986 - /activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/TempDestinationTest.cs

Author: tabish
Date: Wed Apr 11 20:19:36 2012
New Revision: 1324986

URL: http://svn.apache.org/viewvc?rev=1324986&view=rev
Log:
Update the test to ensure that producer sends are done sync, and ensure that stale messages are read from the queue in the TestConsumeAfterPublishFailsForDestroyedTempDestination test case

Modified:
    activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/TempDestinationTest.cs

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/TempDestinationTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/TempDestinationTest.cs?rev=1324986&r1=1324985&r2=1324986&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/TempDestinationTest.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/TempDestinationTest.cs Wed Apr 11 20:19:36 2012
@@ -61,6 +61,7 @@ namespace Apache.NMS.ActiveMQ.Test
 		private Connection GetNewConnection()
 		{
 			Connection newConnection = CreateConnection() as Connection;
+			newConnection.AlwaysSyncSend = true;
 			connections.Add(newConnection);
 			return newConnection;
 		}
@@ -286,6 +287,11 @@ namespace Apache.NMS.ActiveMQ.Test
 			IMessageConsumer consumer = consumerSession.CreateConsumer(consumerDestination);
 
 			consumerConnection.Start();
+			
+			// Purge the destination before starting.
+			while (consumer.Receive(TimeSpan.FromMilliseconds(3000)) != null)
+			{
+			}			
 
 			// The real test is whether sending a message to a deleted temp queue messes up
 			// the consumers on the same connection.
@@ -297,7 +303,7 @@ namespace Apache.NMS.ActiveMQ.Test
 				IMessageProducer producer = producerSession.CreateProducer(producerDestination);
 				IDestination replyDestination = producerSession.CreateTemporaryQueue();
 				IMessageConsumer replyConsumer = producerSession.CreateConsumer(replyDestination);
-
+				
 				producerConnection.Start();
 
 				IMessage sendMsg = producer.CreateTextMessage("Consumer check.");
@@ -308,10 +314,11 @@ namespace Apache.NMS.ActiveMQ.Test
 				// Will the following Receive() call fail on the second or subsequent calls?
 				IMessage receiveMsg = consumer.Receive();
 				IMessageProducer replyProducer = consumerSession.CreateProducer(receiveMsg.NMSReplyTo);
-
+				
+				replyConsumer.Close();
 				connections.Remove(producerConnection);
 				producerConnection.Close();
-				Thread.Sleep(1000); // Wait a little bit to let the delete take effect.
+				Thread.Sleep(2000); // Wait a little bit to let the delete take effect.
 
 				// This message delivery NOT should work since the temp destination was removed by closing the connection.
 				try