[ 
https://issues.apache.org/activemq/browse/AMQNET-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40175
 ] 

David Holroyd commented on AMQNET-64:
-------------------------------------

Jim!  Bless you!  I was hunting for the bug caused by that semicolon for over 
an hour on Sunday.

So, I've tried running with the attached patch, and my testing shows this 
codepath now seems to be working (it has both the fixes you suggested).

> occasional exception in ActiveMQ.Dispatcher.Dequeue() : millisecondsTimeout 
> must be either non-negative and less than or equal to Int32.MaxValue or -1.
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQNET-64
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-64
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: ActiveMQ Client
>         Environment: .NET 2.0, Windows 2000 Server under VMware, 
> https://svn.apache.org/repos/asf/activemq/activemq-dotnet/trunk @ 578465
>            Reporter: David Holroyd
>            Assignee: James Strachan
>
> I tried a lightly modified version of the example code from 
> http://activemq.apache.org/nms/nms.html and find that every few invocations 
> of the test program, I see the following exception, rather than the normal 
> 'Received message' output:
> {noformat}
> Unhandled Exception: System.ArgumentOutOfRangeException: Number must be 
> either non-negative and less than or equal to Int32.MaxValue or -1.
> Parameter name: millisecondsTimeout
>    at System.Threading.WaitHandle.WaitOne(Int32 millisecondsTimeout, Boolean 
> exitContext)
>    at ActiveMQ.Dispatcher.Dequeue(TimeSpan timeout)
>    at ActiveMQ.Dispatcher.Dequeue()
>    at ActiveMQ.MessageConsumer.Receive()
>    at Test.Bridge.Main(String[] args)
> {noformat}
> The code in question is,
> {code:title=Bridge.cs}
> namespace Test {
>       using System;
>       using NMS;
>       using ActiveMQ;
>       public class Bridge {
>               public static void Main(string[] args) {
>                       IConnectionFactory factory = new ConnectionFactory(new 
> Uri("tcp://192.168.9.162:61616"));
>                       using (IConnection connection = 
> factory.CreateConnection())
>                       {
>                           Console.WriteLine("Created a connection!");
>                           
>                           ISession session = connection.CreateSession();
>                           
>                           IDestination destination = 
> session.GetQueue("FOO.BAR");
>                           Console.WriteLine("Using destination: " + 
> destination);
>                           
>                           // lets create a consumer and producer
>                           IMessageConsumer consumer = 
> session.CreateConsumer(destination);
>                           
>                           IMessageProducer producer = 
> session.CreateProducer(destination);
>                           producer.Persistent = true;
>                           
>                           // lets send a message
>                           ITextMessage request = 
> session.CreateTextMessage("Hello World!");
>                           request.NMSCorrelationID = "abc";
>                           request.Properties["NMSXGroupID"] = "cheese";
>                           request.Properties["myHeader"] = "James";
>                           
>                           producer.Send(request);
>                           
>                           // lets consume a message
>                           ITextMessage message = (ITextMessage) 
> consumer.Receive();
>                           if (message == null)
>                           {
>                               Console.WriteLine("No message received!");
>                           }
>                           else
>                           {
>                               Console.WriteLine("Received message with ID:   
> " + message.NMSMessageId);
>                               Console.WriteLine("Received message with text: 
> " + message.Text);
>                           }
>                       }
>               }
>       }
> }
> {code}
> The C# code is talking to ActiveMQ 4.1.1 running on the Linux host (I'm using 
> NMS within VMware).
> I'll try to nose around the code and work out what's happening, but this is 
> the first time I've ever worked with C#.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to