title: RabbitMQ - Send message to a particular consumer in a queue
body: <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>