Description
With large volumes of messages, some messages can arrive out of order on occasion. Scenario is hard to reproduce but a single producer and single consumer can cause the problem if the volume is sufficiently high. The Producer needs to exceed the memory limit such that the cache is filled and when the broker moves over to the store from the cache, the consumer need to ack a message that will be redelivered from the store but would normally be suppressed as a duplicate.
One way to avoid the problem is to disable the cache for a Queue:
<amq:policyEntry queue=">" useCache="false" >