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.