RabbitMQ - Send message to a particular consumer in a queue
<p>This is the scenario - There are multiple app servers. Browser can connect via websocket to any app server.</p>

<p>The app servers (consumers) are all listening on a particular queue. As soon as a web socket connection is received, the particular app server binds the queue with a routing key {userId} to a direct exchange.</p>

<p>I want a message sent to the direct exchange with the routing key {userId} to be received by only the particular app server where the binding has occured.</p>

<p>Is a direct exchange the right exchange to use in this case? Or should some other type of exchange be used?</p>

<p>I'm using spring-amqp to create dynamic bindings when a websocket comes in</p>

<pre><code>// create the RabbitMq queue and bind to it
String routingKey = MessageConstants.getRoutingKeyForUserRecommendationQueue(user);
Binding userRecommendationBinding = BindingBuilder.bind(userRecommendationsQueue).
    to(directExchange).with(routingKey);
amqpAdmin.declareBinding(userRecommendationBinding);
</code></pre>