ActiveMQ / JMS has a built in-mechanism for ensuring that messages that share a common header (namely, the JMSXGroupID header) are always consumed by the same consumer of a queue when using a competing consumers pattern. The consumers of a queue are completely agnostic of the actual header values, as the guarantee of messages with a common header is performed server-side and not consumer-side. For more details on how this works, see http://activemq.apache.org/message-groups.html .
Is doing such a thing possible with AMQP or with something RabbitMQ specific?