You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jim Gomes (JIRA)" <ji...@apache.org> on 2008/05/29 20:38:00 UTC
[jira] Resolved: (AMQNET-65) Orphan connections when using
transacted durable topics.
[ https://issues.apache.org/activemq/browse/AMQNET-65?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jim Gomes resolved AMQNET-65.
-----------------------------
Assignee: Jim Gomes (was: James Strachan)
Fix Version/s: 1.0
(was: 1.1)
Resolution: Fixed
Added additional durable subscriber tests.
> Orphan connections when using transacted durable topics.
> --------------------------------------------------------
>
> Key: AMQNET-65
> URL: https://issues.apache.org/activemq/browse/AMQNET-65
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Environment: Windows XP, Windows 2003
> Reporter: Demis Bellot
> Assignee: Jim Gomes
> Fix For: 1.0
>
> Attachments: DurableTest.cs
>
>
> There is a problem with the latest version of the NMS Client where if you attempt to commit a session right before you close it.
> It is related to this problem:
> http://www.nabble.com/Orphan-connections-from-.NET-clients-tf3879502s2354.html#a10994101
> Other worthy mentions:
> - Most of the NMS client tests with the latest v5 ActiveMQ-SNAPSHOT release.
> - The current DurableTest.cs does not actually test the number of messages coming back. - definitely required as v5 of ActiveMQ does not actually receive any messages.
> - Another test should be included that attempts to reconnect with the durable subscriber id to catch the InvalidClientIDException
> {code:title=DurableTest.cs}
> [Test]
> public void TestMeTransactional()
> {
> count = 0;
> RegisterDurableConsumer();
> SendPersistentMessage();
> using (IConnection connection = Factory.CreateConnection())
> {
> connection.ClientId = CLIENT_ID;
> connection.Start();
> using (ISession session = connection.CreateSession(
> AcknowledgementMode.Transactional))
> {
> ITopic topic = session.GetTopic(TOPIC);
> IMessageConsumer consumer = session.CreateDurableConsumer(
> topic, CONSUMER_ID, "2 > 1", false);
> consumer.Listener += new MessageListener(consumer_Listener);
> /// Don't know how else to give the system enough time.
> System.Threading.Thread.Sleep(3000);
> Assert.AreEqual(1, count);
> Console.WriteLine("Count = " + count);
> SendPersistentMessage();
> System.Threading.Thread.Sleep(3000);
> Assert.AreEqual(2, count);
> Console.WriteLine("Count = " + count);
> session.Commit();
> // Timeout required before closing/disposing the connection otherwise orphan
> // connection remains and test will fail when run the second time with a
> // InvalidClientIDException: DurableClientID already connected.
> //System.Threading.Thread.Sleep(3000);
> consumer.Dispose();
> connection.Stop();
> }
> }
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.