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

Gary Tully resolved AMQ-2779.
-----------------------------

    Resolution: Fixed

implemented in r954540

> Propagate queue subscription selectors to virtual topic dispatch such that 
> unmatched messages do not pile up on subscription queues
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2779
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2779
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Selector
>    Affects Versions: 5.3.2
>         Environment: all
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.4.0
>
>
> With virtual topics each consumer can get its own queue or share an existing 
> queue. http://activemq.apache.org/virtual-destinations.html
> Consumers which share a queue, can use selectors to partition the consumer 
> queue but individual consumers that use selectors run into a problem in that 
> the dispatch to the queue does not take account of the selector and all 
> messages are dispatched to the queue. Over time, the unmatched messages build 
> up on the queue.
> Through static configuration it is possible to arrange that the destination 
> queues are filtered, but this solution is static.
> An alternative approach, that does impose a cpu hit during dispatch (as the 
> selectors are executed twice) can provide a neat solution. Making a virtual 
> topic selectorAware allows the destination interceptor to only dispatch 
> messages that match the selector of one of the existing subscriptions. In 
> this way, no unmatched messages will be dispatched to the subscription 
> queues. In xml configuration, the following will make all topic dispatch 
> respect the selectors of the existing subscriptions:{code}
> <broker xmlns="http://activemq.apache.org/schema/core";>
>     <destinationInterceptors>
>       <virtualDestinationInterceptor>
>         <virtualDestinations>
>           <virtualTopic name=">" selectorAware="true"/>
>         </virtualDestinations>
>       </virtualDestinationInterceptor>
>     </destinationInterceptors>
>   </broker>{code}

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