[ 
https://issues.apache.org/activemq/browse/AMQ-1979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46516#action_46516
 ] 

Hans Bausewein commented on AMQ-1979:
-------------------------------------

Remove the "reply.delete()" code entirely. It indeed does not matter.

The issue is that the TemporaryQueue is removed in the Master and not in the 
Slave.

If it would not be removed in the Master (until the Connection is closed) that 
would be okay.

> Temporary queue on slave not removed in Pure Master/Slave setup
> ---------------------------------------------------------------
>
>                 Key: AMQ-1979
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1979
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>            Reporter: Hans Bausewein
>            Assignee: Gary Tully
>         Attachments: activemqjee-0.0.6-src.tar.gz
>
>
> Maybe not the most logical client code, but it happened here and I guess it 
> will happen somewhere again:
>   TemporaryQueue reply = session.createTemporaryQueue();              
>   MessageConsumer consumer = session.createConsumer(reply);
>   Message received = consumer.receive(timeout);
>   ...
>   reply.delete();
>   consumer.close();
> I've removed try/finally blocks to keep it simple.
> See the attached source code.
> It works fine, but set 
>   JmsMessageHandler.REVERSE_ORDER=true
> and the slave will not be cleaned up properly.
> It means that the number of threads is increasing and at some time it will 
> get an OutOfMemoryError (see AMQ-1849) and the slave dies.

-- 
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