Session.CreateSession creates a thread that never gets disposed.
----------------------------------------------------------------
Key: AMQNET-301
URL: https://issues.apache.org/jira/browse/AMQNET-301
Project: ActiveMQ .Net
Issue Type: Bug
Components: NMS
Affects Versions: 1.4.1, 1.4.0, 1.3.0, 1.2.0
Environment: Tested on Windows 7 and Windows Server 2008
Reporter: Kelly Elias
Assignee: Jim Gomes
Priority: Critical
The Factory.CreateSession function creates a thread that never gets disposed.
If you run the code in visual studio and step through each line you will notice
that on the first iteration of the loop two threads are created on the
factory.CreateConnection line. Only one is cleaned up. Then each iteration
after one thread is created on factory.CreateSession and is cleaned up
correctly, but a second on is created on connection.CreateSession and is not
cleaned up. Every iteration will then make a thread on connection.CreateSession
that does not get cleaned up.
Interesting, this occurs with every version I've tested except the old 1.1
version. That version cleans up correctly.
CODE TO REPRODUCE THE
ISSUE-----------------------------------------------------------------
using System;
using System.Threading;
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using Apache.NMS.ActiveMQ.Commands;
namespace ThreadTest
{
internal class Program
{
private static void Main(string[] args)
{
while (true)
{
Console.WriteLine("sending");
//"tcp://localhost:61616/"
IConnectionFactory factory = new
ConnectionFactory("tcp://localhost:61616/");
using (IConnection connection = factory.CreateConnection())
{
//Create the Session
using (ISession session = connection.CreateSession())
{
//Create the Producer for the topic/queue
IMessageProducer prod = session.CreateProducer(new
ActiveMQTopic("KELLYTEST"));
ITextMessage msg = prod.CreateTextMessage();
msg.Text = "test";
prod.Send(msg, MsgDeliveryMode.NonPersistent,
MsgPriority.Normal, TimeSpan.MinValue);
}
}
Thread.Sleep(5000);
}
}
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.