Description of problem: There doesn't seem to be a lot of descriptions anywhere on how to use prefetch. pre-acquire is default .. i.e. it assumes that the consumer is going to take ownership of message and once acknowledged it can be removed from the queue. no-acquire allows you to fetch messages without acquiring them. This is useful for both subscribing to messages with taking responsibility for processing (stock feed) or for browsing messages on a queue. I found this very useful: https://wiki.108.redhat.com/wiki/index.php/AMQP:154,162:Proposal Also Jonathan had some slides on no-acquire and pre-acquire in the training material. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
In the User's Guide, the Sessions chapter has a section called "Message acquisition and acceptance", which covers this. The C++ API documentation for Session has a series of examples for "Accepting, Acquiring, Rejecting, or Releasing Messages". The Python API documentation is sparse in general, and does not include this. For both languages, the new high level APIs need to be documented in general. Java uses the Java JMS API.