You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jonathan Anstey (JIRA)" <ji...@apache.org> on 2011/08/17 15:13:28 UTC

[jira] [Updated] (AMQ-3457) temp destinations should only be deleted once all users of a pooled connection call close

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

Jonathan Anstey updated AMQ-3457:
---------------------------------

    Attachment: amqpool.diff

> temp destinations should only be deleted once all users of a pooled connection call close
> -----------------------------------------------------------------------------------------
>
>                 Key: AMQ-3457
>                 URL: https://issues.apache.org/jira/browse/AMQ-3457
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.6.0
>         Environment: 5.6-SNAPSHOT
>            Reporter: Jonathan Anstey
>         Attachments: amqpool.diff
>
>
> AMQ-2349 added some code to clean up temp destinations once close() is called on a pooled connection. This caused pretty much all the JMS request-reply tests to fail in Camel with "javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination" :) 
> The problem is that with a pooled connection, multiple users can be using a Connection at the same time (a reference count is kept of how many there are) so if once calls close() the temp destinations of several others could be deleted while they are still using them. I think the correct behavior would be to only delete the temp destinations when all connection users call close() (i.e. when the reference count becomes zero).
> Attaching a proposed fix for this shortly for review.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira