Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
The "client acknowledgement" session acknowledgement mode allows for messages to be received by the application and for an explicit acknowledgedment step to then be perfomed later after processing through calling Message#acknowledge(). Confusingly however, this does not acknowledge the specific message it is called on but rather every message received on the same Session as the message since the prior such call. Although this is clearly documented in the API docs, many users are confused by this behaviour and understandably expect that calling message#acknowledge() would only affect that specific message. Several implementations provide a different session ack mode value to instead configure sessions for this expected 'individual acknowledgement' behaviour, such that only the message upon which acknowledge() is called is affected, and this was also under discussion for inclusion in JMS 2.1. We should provide this useful functionality.
The integer session acknowledgement mode value used is 101.