the selectors are run on the broker, but on only on the in-memory part of the queue. For this reason, if you have sparse selectors, you need to configure a large page size for the destination such that most of the pending messages can be in memory.
The pageSize defaults to 200 and is configured via a destination policyEntry.maxPageSize, make that 2000 (or larger than the selector span) and you will get all of the required messages. On 26 April 2011 15:41, goku <facebooke...@gmail.com> wrote: > Hi, > > I'm interested in similar scenario as well. Any advice would be appreciated. > > Could someone please confirm if I'm right or wrong on this. It seems to me > that "selector" operation is done within MessageConsumer implementation. > (i.e. ALL messages are still dispatched from Message Broker to > MessageConsumer and then "selector" operation are performed against those > messages). The problem occurs when we have a bunch of messages that we are > not interested in (i.e. not match our selector), those messages will > eventually fill up MessageConsumer's internal queue due to prefetch or cache > limit. As a result, we will not be able to receive any new messages, > particularly the ones we're interested in with the selector. > > So, is there a way to configure AMQ to perform the selector operation on > MessageBroker side? Should I start looking at "interceptor" and create my > own BrokerPlugin? Any advice on how to workaround this issue? > > I'm really appreciate any answer. > > Soonthorn A. > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Large-amounts-of-queues-and-topics-tp3471410p3475617.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > -- http://blog.garytully.com http://fusesource.com