[ https://issues.apache.org/activemq/browse/AMQ-865?page=all ]
james strachan resolved AMQ-865. -------------------------------- Fix Version/s: 4.1 Resolution: Fixed Patch applied in SVN trunk if you want to try along with the test cases for this issue and the related AMQ-883 > C# Client's Listener doesn't receive messages if you don't explicitly call > Subscribe > ------------------------------------------------------------------------------------ > > Key: AMQ-865 > URL: https://issues.apache.org/activemq/browse/AMQ-865 > Project: ActiveMQ > Issue Type: Bug > Components: NMS (C# client) > Environment: Windows XP, VS 2005, ActiveMQ 4.0.1 > Reporter: Denis Abramov > Fix For: 4.1 > > > Easiest way to reproduce the bug would be to start the consumer using the > following code and then AFTER the consumer starts, start some producer > (either java or C#) and you will notice that the consumer will not get any > messages (through trial and error I found that calling Receive() on the > consumer at least once will make you lose a message but the listener will > kick back in): > using System; > using ActiveMQ; > using ActiveMQ.Commands; > using NMS; > namespace JMSClient > { > /// <summary> > /// Summary description for Class1. > /// </summary> > class Class1 > { > /// <summary> > /// The main entry point for the application. > /// </summary> > [STAThread] > static void Main(string[] args) > { > IConnectionFactory factory = new ConnectionFactory(new > Uri("tcp://localhost:61616?jms.useAsyncSend=true")); > using (IConnection connection = factory.CreateConnection()) > { > Console.WriteLine("Created a connection!"); > ISession session = connection.CreateSession(); > IDestination destination = > session.GetQueue("EXCEL.TESTQUEUE"); > Console.WriteLine("Using destination: " + destination); > // lets create a consumer and producer > IMessageConsumer consumer = > session.CreateConsumer(destination); > consumer.Listener += new MessageListener(consumer_Listener); > while (true); > } > } > static void consumer_Listener(IMessage message) > { > if (message == null) > { > Console.WriteLine("No message received!"); > } > else > { > Console.WriteLine("Received message with text: " + > ((ActiveMQTextMessage)message).Text); > } > } > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira