As far as I recall, consumers are selected using a hash function. If the hashes for both values match, it could justify this behaviour.
You can change the bucketing algorithm with something like: <policyEntry queue=">"> <messageGroupMapFactory>... </messageGroupMapFactory> </policyEntry> Check the AMQ Javadoc for implementations of the MessageGroupMapFactory interface to see what options are available. Sorry I can't give you a full reference now because I'm in the road, but explore down that path. But before that, quickly run a sanity test with different JMSXGroupID values to discard any errors with the setup altogether. Regards, Raúl. On 20 Dec 2012 21:11, "daltonch" <[email protected]> wrote: > I have a single queue, configured with 50 consumers. > > When building the message I do, > message.setStringProperty("JMSXGroupID", jmsGroupID); > > Where jmsGroupID is selected based on some string in the message body. > There > are about 20 different values for jmsGroupID at this time. However, when > processing messages if I have several thousand with 1 jmsGroupID, lets call > it A, and a handful with another, lets call it B. Message's with jmsGroupID > of B will not process off along side messages with jmsGroupID A. Only 1 > consumer is ever used, as you can see from this screen capture from > jmsadmin. > > > https://lh5.googleusercontent.com/-HX0MGQZ6uCY/UNN9m-ZKFuI/AAAAAAAAH78/VpVZF3PpG1A/s640/consumers.PNG > > All 50 consumers are listed but only 1 is actually processing messages. I > assume I have something configured incorrectly but I'm not sure where to > start? As I understand it when another message comes in with JMSXGroupID of > B it should be processed by an idle consumer. This does not appear to be > happening for me. > > Thanks, > Chad > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Enabling-Message-Groups-tp4660972.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >
