You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by js...@apache.org on 2006/07/21 11:08:30 UTC
svn commit: r424238 - in
/incubator/activemq/branches/activemq-4.0/activemq-dotnet/src:
main/csharp/ActiveMQ/MessageConsumer.cs main/csharp/CommonAssemblyInfo.cs
test/csharp/CommonAssemblyInfo.cs test/csharp/NMS/AsyncConsumeTest.cs
Author: jstrachan
Date: Fri Jul 21 02:08:29 2006
New Revision: 424238
URL: http://svn.apache.org/viewvc?rev=424238&view=rev
Log:
backporting the r424237 patch from Matthew Xie. For background see: http://www.nabble.com/Message-recieved-but-can%27t-removed-from-the-amq-server-problem-tf1964193.html#a5429771
Modified:
incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/ActiveMQ/MessageConsumer.cs
incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/CommonAssemblyInfo.cs
incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/CommonAssemblyInfo.cs
incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/NMS/AsyncConsumeTest.cs
Modified: incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/ActiveMQ/MessageConsumer.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/ActiveMQ/MessageConsumer.cs?rev=424238&r1=424237&r2=424238&view=diff
==============================================================================
--- incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/ActiveMQ/MessageConsumer.cs (original)
+++ incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/ActiveMQ/MessageConsumer.cs Fri Jul 21 02:08:29 2006
@@ -127,7 +127,9 @@
IMessage message = dispatcher.DequeueNoWait();
if (message != null)
{
- Listener(message);
+ //here we add the code that if do acknowledge action.
+ message = AutoAcknowledge(message);
+ Listener(message);
}
else
{
Modified: incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/CommonAssemblyInfo.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/CommonAssemblyInfo.cs?rev=424238&r1=424237&r2=424238&view=diff
==============================================================================
--- incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/CommonAssemblyInfo.cs (original)
+++ incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/main/csharp/CommonAssemblyInfo.cs Fri Jul 21 02:08:29 2006
@@ -22,6 +22,6 @@
[assembly: AssemblyCopyrightAttribute("Copyright (C) 2005-2006 Apache Software Foundation")]
[assembly: AssemblyTrademarkAttribute("")]
[assembly: AssemblyCultureAttribute("")]
-[assembly: AssemblyVersionAttribute("4.0.2266.0")]
+[assembly: AssemblyVersionAttribute("4.0.2393.0")]
[assembly: AssemblyInformationalVersionAttribute("4.0")]
Modified: incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/CommonAssemblyInfo.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/CommonAssemblyInfo.cs?rev=424238&r1=424237&r2=424238&view=diff
==============================================================================
--- incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/CommonAssemblyInfo.cs (original)
+++ incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/CommonAssemblyInfo.cs Fri Jul 21 02:08:29 2006
@@ -22,6 +22,6 @@
[assembly: AssemblyCopyrightAttribute("Copyright (C) 2005-2006 Apache Software Foundation")]
[assembly: AssemblyTrademarkAttribute("")]
[assembly: AssemblyCultureAttribute("")]
-[assembly: AssemblyVersionAttribute("4.0.2266.0")]
+[assembly: AssemblyVersionAttribute("4.0.2393.0")]
[assembly: AssemblyInformationalVersionAttribute("4.0")]
Modified: incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/NMS/AsyncConsumeTest.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/NMS/AsyncConsumeTest.cs?rev=424238&r1=424237&r2=424238&view=diff
==============================================================================
--- incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/NMS/AsyncConsumeTest.cs (original)
+++ incubator/activemq/branches/activemq-4.0/activemq-dotnet/src/test/csharp/NMS/AsyncConsumeTest.cs Fri Jul 21 02:08:29 2006
@@ -21,71 +21,95 @@
-namespace NMS
-{
- [TestFixture]
- public class AsyncConsumeTest : JMSTestSupport
- {
- protected Object semaphore = new Object();
- protected bool received;
-
- [SetUp]
- override public void SetUp()
+namespace NMS {
+ [ TestFixture ]
+ public class AsyncConsumeTest : JMSTestSupport
{
- base.SetUp();
- }
-
- [TearDown]
- override public void TearDown()
- {
- base.TearDown();
- }
-
- [Test]
- public void TestAsynchronousConsume()
- {
-
- // lets create an async consumer
- // START SNIPPET: demo
- IMessageConsumer consumer = Session.CreateConsumer(this.Destination);
- consumer.Listener += new MessageListener(OnMessage);
- // END SNIPPET: demo
-
- // now lets send a message
- IMessageProducer producer = CreateProducer();
- IMessage request = CreateMessage();
- request.NMSCorrelationID = "abc";
- request.NMSType = "Test";
- producer.Send(request);
-
- WaitForMessageToArrive();
-
- }
-
- protected void OnMessage(IMessage message)
- {
- Console.WriteLine("Received message: " + message);
- lock (semaphore)
- {
- received = true;
- Monitor.PulseAll(semaphore);
- }
-
- }
-
- protected void WaitForMessageToArrive()
- {
- lock (semaphore)
- {
- if (!received)
+ protected Object semaphore = new Object();
+ protected bool received;
+
+ [ SetUp ]
+ override public void SetUp()
{
- Monitor.Wait(semaphore, receiveTimeout);
+ base.SetUp();
}
- Assert.AreEqual(true, received, "Should have received a message by now!");
- }
- }
-
- }
-}
+ [ TearDown ]
+ override public void TearDown()
+ {
+ base.TearDown();
+ }
+ [ Test ]
+ public void TestAsynchronousConsume()
+ {
+
+ // lets create an async consumer
+ // START SNIPPET: demo
+ IMessageConsumer consumer = Session.CreateConsumer(this.Destination);
+ consumer.Listener += new MessageListener(OnMessage);
+ // END SNIPPET: demo
+
+ // now lets send a message
+ IMessageProducer producer = CreateProducer();
+ IMessage request = CreateMessage();
+ request.NMSCorrelationID = "abc";
+ request.NMSType = "Test";
+ producer.Send(request);
+
+ WaitForMessageToArrive();
+ }
+
+ [ Test ]
+ public void textMessageSRExample()
+ {
+ using (IConnection connection = Factory.CreateConnection())
+ {
+ AcknowledgementMode acknowledgementMode = AcknowledgementMode.AutoAcknowledge;
+ ISession session = connection.CreateSession(acknowledgementMode);
+
+ IDestination destination = session.GetQueue("FOO.BAR");
+
+ // lets create a consumer and producer
+ IMessageConsumer consumer = session.CreateConsumer(destination);
+ consumer.Listener += new MessageListener(OnMessage);
+
+ IMessageProducer producer = session.CreateProducer(destination);
+ producer.Persistent = true;
+
+ // lets send a message
+ ITextMessage request = session.CreateTextMessage(
+ "HelloWorld!");
+ request.NMSCorrelationID = "abc";
+ request.Properties["JMSXGroupID"] = "cheese";
+ request.Properties["myHeader"] = "James";
+
+ producer.Send(request);
+
+ WaitForMessageToArrive();
+ }
+ }
+
+ protected void OnMessage(IMessage message)
+ {
+ Console.WriteLine("Received message: " + message);
+ lock (semaphore)
+ {
+ received = true;
+ Monitor.PulseAll(semaphore);
+ }
+ }
+
+ protected void WaitForMessageToArrive()
+ {
+ lock (semaphore)
+ {
+ if (!received)
+ {
+ Monitor.Wait(semaphore, receiveTimeout);
+ }
+ Assert.AreEqual(true, received, "Should have received a message by now!");
+ }
+ }
+ }
+}