You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2011/08/09 22:20:27 UTC

[jira] [Updated] (AMQ-3157) Garbage collecting inactive destinations does not work with queue mirroring

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

Timothy Bish updated AMQ-3157:
------------------------------

    Attachment: AMQ3157Test.java

Created a little test case to demonstrate the issue.

> Garbage collecting inactive destinations does not work with queue mirroring
> ---------------------------------------------------------------------------
>
>                 Key: AMQ-3157
>                 URL: https://issues.apache.org/jira/browse/AMQ-3157
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.2
>         Environment: Windows 2003 Server, Java JDK 1.6
>            Reporter: Jim Gomes
>            Priority: Minor
>             Fix For: 5.6.0
>
>         Attachments: AMQ3157Test.java
>
>
> When using the garbage collection feature of inactive queues, the queues are not collected if queue mirroring is turned on.  The following snippet shows a basic configuration for reproducing the problem:
> {code:xml}
> <broker xmlns="http://activemq.apache.org/schema/core"
>           brokerName="localhost"
>           dataDirectory="${activemq.base}/data"
>           destroyApplicationContextOnStop="true"
>           schedulePeriodForDestinationPurge="10000">
>         <destinationInterceptors>
>             <mirroredQueue copyMessage="true" postfix="" prefix="Monitor."/>
>         </destinationInterceptors>
>         <destinationPolicy>
>             <policyMap>
>                 <policyEntries>
>                     <!-- Set auto-cleanup of inactive topics and queues -->
>                     <policyEntry queue=">" producerFlowControl="true" memoryLimit="50mb" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000">
>                         <pendingQueuePolicy>
>                             <vmQueueCursor/>
>                         </pendingQueuePolicy>
>                     </policyEntry>
>                     <policyEntry topic=">" producerFlowControl="true" memoryLimit="50mb" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000">
>                         <pendingSubscriberPolicy>
>                             <vmCursor />
>                         </pendingSubscriberPolicy>
>                     </policyEntry>
>                 </policyEntries>
>             </policyMap>
>         </destinationPolicy>
> </broker>
> {code}
> With this configuration, the topics will be collected, but the queues will not be collected.  In order to get the queues to be collected, the {{<destinationInterceptors>}} section needs to be commented out.

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