[ https://issues.apache.org/activemq/browse/AMQNET-64?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jim Gomes resolved AMQNET-64. ----------------------------- Resolution: Fixed > 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 > Attachments: ConsumerTest.cs, Dispatcher_timeout_cast-patch.diff > > > 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.