For consumption, you either need to use XA, or implement your own duplication detection at consumption.
Thanks for the quick response.
How can XA avoid duplicates?
Is there any documentation or samples available on how to use XA for consuming messages as well as avoid duplication?
With XA, the transaction manager will play replay and recovery, on that case you won't have any duplicates.