activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Holroyd (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQNET-64) occasional exception in ActiveMQ.Dispatcher.Dequeue() : millisecondsTimeout must be either non-negative and less than or equal to Int32.MaxValue or -1.
Date Sun, 23 Sep 2007 13:09:24 GMT
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.


Mime
View raw message