JMS queue with multiple consumers

With multiple consumers on a queue, messages are load balanced between the consumers.

As you have some time consuming the message, you should disable buffering by setting consumer-window-size.

On hornetQ there’s an example on the distribution, about how to disable client buffering and give a better support for slow consumers. (a slow consumer is a consumer that will have some time processing the message)

message systems will pre-fetch/read-ahead messages to the client buffer to speed up processing and avoid network latency. This is not an issue if you have fast processing queues and a single consumer.

JBoss Messaging offered the slow-consumer option at the connection factory and hornetq offers the consumer window size.

Most Message systems will provide you a way to enable or disable client pre-fetching.

Leave a Comment