Acknowledgment is the confirmation that a message has been processed successfully. If you choose bean-managed transactions for this bean, you can select the mode of acknowledgment, either AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE. If you do not specify an acknowledgment mode, AUTO_ACKNOWLEDGE semantics are used.

DUPS_OK_ACKNOWLEDGE instructs the session to lazily acknowledge the delivery of messages, which can result in duplicate messages. However, session overhead is reduced because the session is not busy preventing duplicate message delivery.

AUTO_ACKNOWLEDGE instructs the session to automatically acknowledge a client's consumption of a message.

If you have container-managed transactions, the container automatically handles acknowledgement.