We're using ActiveMQ (5.14.5). We have a single producer, and multiple consumers on the same queue. From time to time we set JMSXGroupID to group several messages together to be consumed on a single consumer. This works as expected. In parallel, the producer continues to send non-grouped messages (i.e. without JMSXGroupID)
The problem: We noticed that once a consumer was selected to process a specific group, it no longer gets the non-grouped messages. Even if it is completely idle. The non-grouped messages are always sent to the other consumers. The rogue consumer returns to consume non-grouped messages only after we close the group that was assigned to it (by setting JMSXGroupSeq=-1).
Is this a normal behavior? We expected that non-grouped messages will continue to be delivered in the same round-robin fashion as usual, to all consumers. We were unable to find a clear reference to this in ActiveMQ documentation.