Hello Todd-

There are a couple of things to bear in mind here.

Firstly, having a large number of selectors on a queue which select few of the 
messages is generally an anti-pattern and will always have poor performance 
since, since for every receive() the queue needs to be iterated through until a 
selected message is obtained for each consumer.

The performance of this could be improved by using indexes but it will never be 
great and should be avoided.

See http://jira.jboss.com/jira/browse/JBAS-1348 for a discussion of this in 
JBoss MQ - the same theory more or less applies in JBoss Messaging.

Secondly there is a known bug in JBoss Messaging 
http://jira.jboss.com/jira/browse/JBMESSAGING-275 which means only the first 
consumer will get the message, as you have found out.

This bug is due to be fixed in 1.0.2.

In the mean-time if you can use a topic instead of a queue this won't exhibit 
the problems you have been seeing and the performance will always be much 
better. This is because a topic subscription will not accept  any messages that 
don't match the selector, but a queue will since it cannot know in advance any 
selectors that consumers might use.

Finally, the "correct" solution to this problem would be to use a new feature 
which allows consumers to group themselves according to JMSXGroupId.

JBoss Messaging will then ensure that any messages with a particular value of 
JMSXGroupId is only consumed by consumers in that group. Users can configure 
how many consumers in each group.

This task is discussed here: http://jira.jboss.com/jira/browse/JBMESSAGING-375

This allows partitioning of load and this feature is currently scheduled for 
1.0.6 (hmmm I'll see if we can get this done sooner)

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960127#3960127

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960127
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to