title: SPRINGAMQP or RabbitMq Java API
body: <p>I am new to rabbitMq and Spring AMQP .
  I am building a new project from scratch . Here for one of the components we are using rabbit-Mq as message broker .</p>
  
  <p>In this project ,primarily all the development has been happening in Java . We are using Spring in general for some of the components  .</p>
  
  <p>Now , rabbit-mq though written in Erlang does provide a clean java Api. There is also spring amqp which provides a nice interface  to support loose coupling (through AMQPTemplate etc.) .</p>
  
  <p>One advantage which I thought of using SpringAMQP is that because of above mentioned loose coupling , tomorrow if we have to use any other implementation of AMQP than rabbit-Mq(spring-rabbit ) I don't have to change my code . But as I see ,today the implementation is for rabbit-Mq and barring extraordinary circumstances , I don't see anything happening here. We should be using rabbit-Mq for near foreseeable future and also not sure if there is any other message broker implementation thought at spring amqp side other than rabbitMq.</p>
  
  <p>The disadvantage I think is that I am well away off understanding the actual client API RabbitMq provides due to the abstraction Spring AMQP gives(unless I decide to dig really deep) .</p>
  
  <p>In such a case , is there any other advantage SPRING AMQP provides over traditional rabbitMq Java API ?</p>
  
  <p>Thanks </p>