jakartaee / jakartaee/messaging

Add new method Session.acknowledge()

Open
#68 7 comments 0 reactions 0 assignees View on GitHub
pd20-forreview-minor Priority: Major Type: Improvement
Dominant language
Java
Stars
49
Forks
34
PR merge metrics
No merged PRs in 30d

Description

When a session is created with an acknowledgement mode of Session.CLIENT_ACKNOWLEDGE, messages are acknowledged by calling the acknowledge() method on the Message object.

However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged,. It doesn't just acknowledge the Message on which the acknowledge method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

However the fact that the acknowledge method is on the Message is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an acknowledge method to the Session would allow application code to reflect the true behaviour.

It is therefore proposed that a new method acknowledge() be added to the Session interface which causes all messages delivered to the Session to be acknowledged (i.e. identical behaviour to the existing method).
#### Affected Versions
[1.1]

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Session and Message interfaces and the JMS 1.1 acknowledgement clarification referenced in the issue. Determine the compatibility and specification implications of adding Session.acknowledge(), then verify that its documented behavior matches the existing Message.acknowledge() behavior for all messages delivered to the session.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.