title: Declaration of exchanges and queues in Spring AMQP
body: <p>I'm using RabbitMQ and trying to refactor my current native java implementation to using the Spring AMQP abstraction. </p>
  
  <p>Declaration of exchanges, queues and their binding using the Spring library is via the AMQPAdmin interface, but I'm not sure when this sort of configuration should happen. </p>
  
  <p>I have a web application that uses Rabbit to produce messages. And another app that consumes these messages. Shocker :)</p>
  
  <p>But when show the declaration of the exchanges/queues take place?</p>
  
  <p>Do I deploy the AMQPAdmin with the web applications and do exchange/queue administration within constructors of producers and consumers? </p>
  
  <p>Declaration of these things are a one off, the broke doesn't need to know about them again, so any code would be a NOOP on subsequent executions.</p>
  
  <p>Do I create a separate application for administration of the broker?</p>
  
  <p>What is the current thinking or best practices here? </p>