Stomp Client 1.5.4 error creating subscription to topic on JBoss HornetQ (Jboss 6.4.2 GA)
harleybl Sep 29, 2014 11:34 AMI apologize for posting a very similar issue to this one(Error creating consumer with STOMP), but it appears I am having a similar problem although with different symptoms.
Maybe I am doing something dumb, but using a simple example I cannot seem to get a topic subscription working using the Apache.NMS.Stomp version 1.5.4 (http://activemq.apache.org/nms/apachenmsstomp-v154.html).
I am compiling the Stomp source code and project under .Net 4.0. I have created a console application in the Apache.NMS.Stomp solution. My program fails when it attempts to create a subscription to the topic. The same example works fine with the 1.5.3 version of the DLL so this seems like it could be a bug.
I do not see any error messages on the server side.
Here is the result of my simple program:
About to connect to stomp:tcp://myjboss:61613
Using destination: topic://jms.topic.test.topic
Connection Error: : Error creating subscription IDcSTHBLUMENF-50514-635475847768724525-1:0c1:1
Connection Error:
Error: : Error creating subscription IDcSTHBLUMENF-50514-635475847768724525-1:0c1:1
Error: at Apache.NMS.Stomp.Connection.SyncRequest(Command command, TimeSpan requestTimeout) in C:\dev\Apache.NMS.Stomp\source\branches\1.5.4\src\main\csharp\Connection.cs:line 525
at Apache.NMS.Stomp.Connection.SyncRequest(Command command) in C:\dev\Apache.NMS.Stomp\source\branches\1.5.4\src\main\csharp\Connection.cs:line 505
at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination, String selector, Boolean noLocal) in C:\dev\Apache.NMS.Stomp\source\branches\1.5.4\src\main\csharp\Session.cs:line 425
at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination) in C:\dev\Apache.NMS.Stomp\source\branches\1.5.4\src\main\csharp\Session.cs:line 379
at TopicSubscriberTest.Program.Main(String[] args) in C:\dev\Apache.NMS.Stomp\source\branches\1.5.4\TopicSubscribeTest\Program.cs:line 31
Here is the code:
class Program { private static void Main(string[] args) { try { var connecturi = new Uri("stomp:tcp://myjboss:61613"); Console.WriteLine("About to connect to " + connecturi); IConnectionFactory factory = new NMSConnectionFactory(connecturi); using (IConnection connection = factory.CreateConnection("testuser", "test")) { connection.ExceptionListener += new ExceptionListener(OnConnectionException); connection.Start(); using (ISession session = connection.CreateSession()) { connection.Start(); IDestination destination = SessionUtil.GetDestination(session,"topic://jms.topic.test.topic"); Console.WriteLine("Using destination: " + destination); using (IMessageConsumer consumer = session.CreateConsumer(destination)) { consumer.Listener += OnMessage; while (true) { Thread.Sleep(5000); Console.WriteLine("."); } } } } } catch (Exception e) { Console.WriteLine("Error:" + e.Message); Console.WriteLine("Error:" + e.StackTrace); Console.ReadLine(); } } private static void OnConnectionException(Exception e) { Console.WriteLine("Connection Error:" + e.Message); Console.WriteLine("Connection Error:" + e.StackTrace); } protected static void OnMessage(IMessage receivedMsg) { var message = receivedMsg as ITextMessage; Console.WriteLine(message.Text); } }