I think https://issues.apache.org/jira/browse/AMQ-5854 is what you need. In short, it is not feasible to try and retain transaction integrity for consumed messages when a failover event happens.
In your case, the transaction will rollback and the message will go to the dlq. The scenario is that the first consumer gets the message and acks in a transaction. there is a failover, so the state is recreated, connection, multiple consumers, transaction etc. However the broker dispatches to another consumer, (the order of consumer recreation and of broker dispatch is not deterministic) so the app would see a duplicate if this message gets dispatched to another consumer while the current transaction is pending a redelivery. It gets messy and it turns out that there are way to many different failure scenarios to try and account for. Hence AMQ-5854 which makes it very clear that an inflight transaction with pending acks will rollback if there is a failover. On Mon, 7 Dec 2015 at 02:25 yang.yang.zz <yang.yang...@outlook.com> wrote: > I have the same problem and my version is 5.11.1. > > Does AMQ-5795 solve this problem? > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/What-is-duplicate-delivery-poison-ack-tp4688299p4704648.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >