Until a JMS message has been acknowledged, it is not considered to be successfully consumed. The successful consumption of a message ordinarily takes place in three stages.
1. The client reveives the message.
2. The client processes the mesage.
3. The message is acknowledged.
Acknowledgement is initiated either by the JMS provider or by the client, depending on the session acknowledgement mode.
When a client creates a non-transacted JMS session, it specified one of three standard acknowledgement modes for acknowledging messages it consumes.
DUPS_OK_ACKNOWLEDGE, for consumers that are tolerant of duplicate messages.
AUTO_ACKNOWLEDGE, in which the session automatically acknowledged a client's receipt of a mesage.
CLIENT_ACKNOWLEDGE,in which the client acknowledges the message by calling the message's acknowledge method.