Author: tabish
Date: Wed Dec 16 14:14:04 2009
New Revision: 891244

URL: http://svn.apache.org/viewvc?rev=891244&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQNET-225

Allow Prefetch properties to be set on the Connection URI.

Modified:
    
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/ConnectionFactory.cs
    
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs

Modified: 
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/ConnectionFactory.cs
URL: 
http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/ConnectionFactory.cs?rev=891244&r1=891243&r2=891244&view=diff
==============================================================================
--- 
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/ConnectionFactory.cs
 (original)
+++ 
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/ConnectionFactory.cs
 Wed Dec 16 14:14:04 2009
@@ -112,7 +112,9 @@
                        // is that this works with simple Uri as well.
                        URISupport.CompositeData c = 
URISupport.parseComposite(uri);
                        URISupport.SetProperties(connection, c.Parameters, 
"connection.");
-            
+
+            URISupport.SetProperties(connection.PrefetchPolicy, c.Parameters, 
"nms.PrefetchPolicy.");
+
                        connection.ITransport.Start();
                        return connection;
                }

Modified: 
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
URL: 
http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs?rev=891244&r1=891243&r2=891244&view=diff
==============================================================================
--- 
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
 (original)
+++ 
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
 Wed Dec 16 14:14:04 2009
@@ -70,5 +70,55 @@
                                Assert.IsNotNull(connection);
                        }
                }
-       }
+
+        [Test]
+        public void TestURIForPrefetchHandling()
+        {
+            string uri1 = "activemq:tcp://${activemqhost}:61616" +
+                          "?nms.PrefetchPolicy.queuePrefetch=1" +
+                          "&nms.PrefetchPolicy.queueBrowserPrefetch=2" +
+                          "&nms.PrefetchPolicy.topicPrefetch=3" +
+                          "&nms.PrefetchPolicy.durableTopicPrefetch=4" +
+                          "&nms.PrefetchPolicy.maximumPendingMessageLimit=5";
+
+            string uri2 = "activemq:tcp://${activemqhost}:61616" +
+                          "?nms.PrefetchPolicy.queuePrefetch=112" +
+                          "&nms.PrefetchPolicy.queueBrowserPrefetch=212" +
+                          "&nms.PrefetchPolicy.topicPrefetch=312" +
+                          "&nms.PrefetchPolicy.durableTopicPrefetch=412" +
+                          "&nms.PrefetchPolicy.maximumPendingMessageLimit=512";
+
+            NMSConnectionFactory factory = new 
NMSConnectionFactory(NMSTestSupport.ReplaceEnvVar(uri1));
+
+            Assert.IsNotNull(factory);
+            Assert.IsNotNull(factory.ConnectionFactory);
+            using(IConnection connection = factory.CreateConnection("", ""))
+            {
+                Assert.IsNotNull(connection);
+
+                Connection amqConnection = connection as Connection;
+                Assert.AreEqual(1, amqConnection.PrefetchPolicy.QueuePrefetch);
+                Assert.AreEqual(2, 
amqConnection.PrefetchPolicy.QueueBrowserPrefetch);
+                Assert.AreEqual(3, amqConnection.PrefetchPolicy.TopicPrefetch);
+                Assert.AreEqual(4, 
amqConnection.PrefetchPolicy.DurableTopicPrefetch);
+                Assert.AreEqual(5, 
amqConnection.PrefetchPolicy.MaximumPendingMessageLimit);
+            }
+
+            factory = new 
NMSConnectionFactory(NMSTestSupport.ReplaceEnvVar(uri2));
+
+            Assert.IsNotNull(factory);
+            Assert.IsNotNull(factory.ConnectionFactory);
+            using(IConnection connection = factory.CreateConnection("", ""))
+            {
+                Assert.IsNotNull(connection);
+
+                Connection amqConnection = connection as Connection;
+                Assert.AreEqual(112, 
amqConnection.PrefetchPolicy.QueuePrefetch);
+                Assert.AreEqual(212, 
amqConnection.PrefetchPolicy.QueueBrowserPrefetch);
+                Assert.AreEqual(312, 
amqConnection.PrefetchPolicy.TopicPrefetch);
+                Assert.AreEqual(412, 
amqConnection.PrefetchPolicy.DurableTopicPrefetch);
+                Assert.AreEqual(512, 
amqConnection.PrefetchPolicy.MaximumPendingMessageLimit);
+            }
+        }
+    }
 }


Reply via email to