jakartaee / jakartaee/messaging
Vendor-defined acknowledgement modes
- Dominant language
- Java
- Stars
- 49
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
Several vendors currently support non-standard acknowledgement modes as vendor-specific extensions.
(Edited) The most common vendor-specific modes are no-acknowledgement mode (see #168 and #21) and individual-acknowledge mode (see #95), and these are already proposed for standardization.
However individual vendors may wish to offer additional acknowledgement modes which are probably too vendor-specific to be suitable for incorporating in the standard.
Currently the JMS specification does not allow createSession and createContext to support modes other than the four defined in the specification. It is proposed to relax this restriction to allow vendors to define additional modes, so long as their integer value is within a special defined range.
Applications which use such vendor-specific modes will, inevitably, not be portable.
The specification for Session#getAcknowledgementMode and JMSContext#getSessionMode would need to be extended to cover this new feature.
One drawback of defining an integer range for vendor-specific modes is the possibility that two vendors may choose the same value. One way to avoid this would be to define new createContext and createSession methods which allow the session/acknowledgement mode to be specified as a string. JMS-defined modes would start with javax.jms, vendor-defined modes would start with a vendor-specific string such as com.vendorname.
#### Affected Versions
[2.0]
Contributor guide
Research direction
Start by reviewing the JMS createSession and createContext entry points, along with Session#getAcknowledgementMode and JMSContext#getSessionMode. Compare the referenced issues #168, #21, and #95, then determine which vendor-specific mode approach should be specified and what the completed specification changes must cover.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100