anchor.diff:  |`rabbitmq.TIMESTAMP` |The timestamp to set on the RabbitMQ message
   
   |`rabbitmq.APP_ID` |The appId to set on the RabbitMQ message
  -|=======================================================================
  +|===
   
   Headers are set by the consumer once the message is received. The
   producer will also set the headers for downstream processors once the
   exchange has taken place. Any headers set prior to production that the
   producer sets will be overriden.
   
  -### Message Body
  +=== Message Body
   
   The component will use the camel exchange in body as the rabbit mq
   message body. The camel exchange in object must be convertible to a byte
   array. Otherwise the producer will throw an exception of unsupported
   body type.
   
  -### Samples
  +=== Samples
   
   To receive messages from a queue that is bound to an exchange A with the
   routing key B,
   
   [source,java]
  --------------------------------------------
  +----
   from("rabbitmq://localhost/A?routingKey=B")
  --------------------------------------------
  +----
   
   To receive messages from a queue with a single thread with auto
   acknowledge disabled.
   
   [source,java]
  ---------------------------------------------------------------------------
  +----
   from("rabbitmq://localhost/A?routingKey=B&threadPoolSize=1&autoAck=false")
  ---------------------------------------------------------------------------
  +----
   
   To send messages to an exchange called C
   
   [source,java]
  --------------------------------
  -...to("rabbitmq://localhost/C")
  --------------------------------
  +----
  +to("rabbitmq://localhost/C")
  +----
   
   Declaring a headers exchange and queue
   
   [source,java]
  ----------------------------------------------------------------------------------
  +----
   from("rabbitmq://localhost/ex?exchangeType=headers&queue=q&bindingArgs=#bindArgs")
  ----------------------------------------------------------------------------------
  -
  -and place corresponding Map<String, Object> with the id of "bindArgs" in the Registry.
  +----
  +
  +and place corresponding `Map<String, Object>` with the id of "bindArgs" in the Registry.
   
   For example declaring a method in spring
   
   [source,java]
  ----------------------------------------------------------------------------------
  +----
   @Bean(name="bindArgs")
   public Map<String, Object> bindArgsBuilder() {
       return Collections.singletonMap("foo", "bar");
   }
  ----------------------------------------------------------------------------------
  -
  -### See Also
  -
  -* Configuring Camel
  -* Component
  -* Endpoint
  -* Getting Started
  +----
  +
  
positive.code: // endpoint options: END
  
  
  
  
  See
  http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html[http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html]
  and the AMQP specification for more information on connection options.
  
  ### Custom connection factory
  
  [source,xml]
  ----------------------------------------------------------------------------------------
  <bean id="customConnectionFactory" class="com.rabbitmq.client.ConnectionFactory">
    <property name="host" value="localhost"/>
    <property name="port" value="5672"/>
    <property name="username" value="camel"/>
    <property name="password" value="bugsbunny"/>
  </bean>
  <camelContext>
    <route>
      <from uri="direct:rabbitMQEx2"/>
      <to uri="rabbitmq://localhost:5672/ex2?connectionFactory=#customConnectionFactory"/>
    </route>
  </camelContext>
  ----------------------------------------------------------------------------------------
  
  
  Headers
  
  The following headers are set on exchanges when consuming messages.
  
  [width="100%",cols="10%,90%",options="header",]
  |=======================================================================
  |Property |Value
  
  |`rabbitmq.ROUTING_KEY` |The routing key that was used to receive the message, or the routing key
  
negative.code: behavior. If the value is false (by default) then the message is
  discarded/dead-lettered. If the value is true, then the message is
  re-queued. 
  |===
  
  The following headers are used by the producer. If these are set on the
  camel exchange then they will be set on the RabbitMQ message.
  
  [width="100%",cols="10%,90%",options="header",]
  |===
  |Property |Value
  
  |`rabbitmq.ROUTING_KEY` |The routing key that will be used when sending the message
  