OK, I compiled the following against a recent-ish version of NMS. I haven't
done a more recent compile because as I pointed out in the NMS issue tracker
there was a bug in the use of selectors which I had fixed in my source but
which hadn't been fixed in the SVN Repo (though it might have been very
recently). This is just your original post with your disconnect logic shoved
in the finally block. When I monitor this in JConsole the connection gets
cleaned up fine and there is no Connection folder under localhost in the
MBeans treeview. Hope this helps (though obviously it doesn't I guess!).
Happy to mail you my NMS.dll and ActiveMQ.dll compiles for you to try.

Chris


using System;
using System.Threading;
using NMS;

namespace ActiveMQ
{
        class TestMain
        {
                static void Main(string[] args)
                {
                        Uri uri = new Uri("tcp://bhw152:61616");
                        
                        ConnectionFactory factory = new ConnectionFactory(uri);
                        
                        IConnection connection = null;
                        ISession session = null;
                        
                        try
                        {
                                connection = factory.CreateConnection();
                                Console.WriteLine("Connection Created");
                                
                                connection.ClientId = "[test1] " + 
connection.ClientId;
                                
                                session = connection.CreateSession();
                                Console.WriteLine("Session Created");
                                
                                Thread.Sleep(10000);
                        }
                        finally
                        {
                                try
                                {
                                        if (session != null)
                                        {
                                            session.Close();
                                            session.Dispose();
                                        }
                                        
                                        if (connection != null)
                                        {
                                            connection.Dispose();
                                        }
                                }
                                catch (Exception ex)
                                {
                                        Console.WriteLine("ERROR DISCONNECTING: 
" + ex.StackTrace);
                                }
                                Console.WriteLine("Connection Closed");
                        }
                }
        }
}
-- 
View this message in context: 
http://www.nabble.com/Orphan-connections-from-.NET-clients-tf3879502s2354.html#a11307469
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to