According to: http://activemq.apache.org/dispatch-policies.html queue load balancing use either the round-robin or "strict" method.
Round-robin will give the same amount of work to consumers independent on if they are fast or slow, possibly leading to work building up on a slow consumer even when the other consumers are idle. Would it be possible to implement a queue dispatch policy that f ex prefers to dispatch to the consumer with the least number of unacknowledged messages, or maybe with the highest number of free prefetch slots? Or is the solution to use small enough prefetch values so that the maximum amount of queued work in any consumer is handled in a short time? Thanks Mike