[ 
https://issues.apache.org/jira/browse/AMQ-2742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dejan Bosanac updated AMQ-2742:
-------------------------------

    Fix Version/s:     (was: 5.4.2)
                   5.5.0

> Subscription on TempQueues in Network-Of-Brokers not deleted
> ------------------------------------------------------------
>
>                 Key: AMQ-2742
>                 URL: https://issues.apache.org/jira/browse/AMQ-2742
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMX
>    Affects Versions: 5.3.0, 5.3.2
>         Environment: seen on Win XP, Win 7, Server 2003 and 2008
>            Reporter: Benjamin Geißelmeier
>             Fix For: 5.5.0
>
>
> I have the following situation:
> A static network of brokers, working on hostA:61619 and hostB:61619, both 
> with JMX enabled as shown in this Spring configuration:
> {noformat}
> <amq:broker xmlns="http://activemq.apache.org/schema/core"; id="broker" 
> persistent="false" useJmx="true"
>       brokerName="${hostname}:61619" useShutdownHook="false">
>       
>       <amq:destinationPolicy>
>               <amq:policyMap>
>                       <amq:defaultEntry>
>                               <amq:policyEntry queue="${queue-name}">
>                                       <amq:dispatchPolicy>
>                                               <amq:roundRobinDispatchPolicy />
>                                       </amq:dispatchPolicy>
>                               </amq:policyEntry>
>                       </amq:defaultEntry>
>               </amq:policyMap>
>       </amq:destinationPolicy> 
>       <!-- Use the default JVM JMX connector -->
>       <amq:managementContext>
>               <amq:managementContext createConnector="false" />
>       </amq:managementContext>
>       <amq:networkConnectors>
>       <!--  Cluster configuration: build a static network of brokers -->
>         <amq:networkConnector 
> uri="static:(tcp://${HOSTNAME_OF_OTHER_INSTANCE}:61619)" />
>       </amq:networkConnectors>
>       <amq:transportConnectors>
>         <!-- "listen" on the in-VM transport -->
>         <amq:transportConnector uri="vm://my-server" />
>         
>         <!-- listen on a statically chosen tcp port which is announced for 
> discovery -->
>         <amq:transportConnector uri="tcp://0.0.0.0:61619"
>               discoveryUri="multicast://default?group=${activemq-group}" />
>       </amq:transportConnectors>
> </amq:broker>
> {noformat}
> My application looks like this:
>  # Both host instances are connected via VM transport to the broker and wait 
> for new messages in $queue-name
>  # Clients send messages to this shared queue with a TempQueue to which the 
> hosts shall reply:
>  {code}
>       QueueConnectionFactory factory = new 
> ActiveMQConnectionFactory("failover:(...)");
>       QueueConnection connection = factory.createQueueConnection();
>     Queue session = connection.createQueueSession(false, 
> Session.AUTO_ACKNOWLEDGE);
>     final QueueSender producer = 
> session.createSender(session.createQueue($queue-name));
>       TemporaryQueue rxQueue = session.createTemporaryQueue();
>       ObjectMessage initMessage = session.createObjectMessage(...);
>       initMessage.setJMSReplyTo(rxQueue);
>       producer.send(initMessage, DeliveryMode.NON_PERSISTENT, 
> Message.DEFAULT_PRIORITY, 100000);
>       // When the host takes this initMessage from the queue, it creates a 
> 2nd temp queue for further client messages
>       // Do some work...
>       // Close everything: connection, session, producer and in particular:
>       rxQueue.delete();
>       // Host closes 2nd temp queue, too
> {code}
> Say a client connects to hostA (e.g. via tcp://hostA:616169) and hostA takes 
> the client request from the queue. Now I can see a non-durable subscription 
> for the temporary queue the client has created in the JMX consoles of both 
> host instances. But after the temp queue was deleted the subscription still 
> exists on hostB.
> After several requests there are a lot of subscriptions for deleted queues in 
> the JMX console which looks like a potential memory leak. (-> screenshot)
>       
> I've seen this effect in ActiveMQ version 5.3.0 and 5.3.2

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to