jakartaee / jakartaee/messaging

Allow client-acknowledgement and local transactions to be used in the Java EE web and EJB container

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

Description

The JMS 2.0 specification, section 12.3 "Behaviour of JMS sessions in the Java EE web or EJB container" states that if a Session or JMSContext is created when there is no active JTA transaction in progress, then the Session or JMSContext that is created will be non-transacted and any messages received will be automatically acknowledged.

The specification states that the use of local transactions or client acknowledgement is not permitted. A session parameter may be used to specify whether the acknowledgement mode should be AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE, but any other values will be ignored.

**Issue:** When there is no application server transaction (or if the Session or JMSContext has opted out of the JTA transaction if allowed by #130), should client-acknowledgement or local transactions be permitted?

If so, we would need to define an appropriate API by which the application specifies this. We can't use the existing parameters to createSession and createContext for this purpose since these must be ignored in accordance with the EJB 3.1 specification).
#### Affected Versions
[2.0]

Contributor guide

Open the contributing guide

Research direction

Start with JMS 2.0 section 12.3 and the EJB 3.1 constraints described here, then review the related opt-out discussion in issue #130. Determine whether client acknowledgement or local transactions should be supported without an application-server transaction, and define the appropriate API and resulting behavior for createSession and createContext.

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
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.