Posted: Tue Jun 22, 2004 12:31 pm Post subject: Queue Filters and performance.
Novice
Joined: 27 Mar 2002 Posts: 13
I have a situation where multiple processes can be listening to a queue for messages based on different filters. For example, the three processes below are listening to the queue RESPONSE with different filters.
Process Filter
1 foo
2 foobar
3 barfoo
Each of these processes can receive 100+ responses. My questions are how is the filter mechanism implemented? Do the processes keep looking at all of the messages (polling) and checking their filter against each message? Or is it implemented a more efficient way? As we start up more processes the performance is degrading significantly and I am wondering if it is because the filters have more message to keep checking.
The code below shows how a reqister a filter with a QueueReceiver.
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
If the filters are on anything other than MessageID and/or CorrelationID (and maybe the Group stuff), then JMS, under the covers, has to browse each message to see if it matches. The underlying MQ has no way of implementing the matching.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum