title: Re-queue Amqp message at tail of Queue
body: <p>I have a project setup using Spring and RabbitMQ.  Currently it is possible for my application to receive an amqp message that cannot be processed until another asynchronous process has completed (legacy and totally detached, i have no control).  So the result is i may have to wait on processing a message for some amount of time.  The result of this is an exception in a transformer.</p>
  
  <p>When the message is NACK'd back to rabbitMQ it is putting it back into the head of the queue and re-pulling it immediately.  If i get unprocessable messages equal to the number of concurrent listeners my workflow locks up. It spins its wheels waiting for messages to become processable, even though there are valid processable messages waiting behind in the queue.</p>
  
  <p>Is there a way to reject and amqp message and have it go back to the tail of the queue instead?  From my research rabbitMQ worked this way at one time, but now i appear to get the head of the queue exclusively.</p>
  
  <p>My config is rather straight forward, but for continuity here it is...</p>
  
  <p>Connection factory is: org.springframework.amqp.rabbit.connection.CachingConnectionFactory
  RabbitMQ 3.1.1</p>
  
  <p>Spring Integration: 2.2.0</p>
  
  <pre><code>&lt;si:channel id="channel"/&gt;
  &lt;si-amqp:inbound-channel-adapter
      queue-names="commit" channel="channel" connection-factory="amqpConnectionFactory"
      acknowledge-mode="AUTO" concurrent-consumers="${listeners}"
      channel-transacted="true"
      transaction-manager="transactionManager"/&gt;
  
  &lt;si:chain input-channel="channel" output-channel="nullChannel"&gt;
      &lt;si:transformer ref="transformer"&gt;&lt;/si:transformer&gt;
      &lt;si:service-activator ref="activator"/&gt;
  &lt;/si:chain&gt;
  </code></pre>