users@concurrency-ee-spec.java.net

[jsr236-spec users] [jsr236-experts] Re: Proposed Final Draft candidate uploaded

From: Anthony Lai <anthony.lai_at_oracle.com>
Date: Fri, 22 Feb 2013 17:12:03 -0800

The suggestion comes from section EE.4.2.2 of the platform spec, which says:

 0.

    EE.4.2.2 Transactions in Web Component Life Cycles

    Transactions may not span web requests from a client on the network.
    A web component starts a transaction in the service method of a
    servlet (or, for a JSP page, the service method of the equivalent
    JSP page Implementation Class) and it must be completed before the
    service method returns to the network client. Returning from the
    service method to the network client with an active transaction
    context is an error. The web container is required to detect this
    error and abort the transaction.

So it was suggested JSR 236 objects should do the same.

In the Proposed Final Draft that was submitted, the requirement was
modified slightly with new addition in bold:


JavaEE_Platform_Spec.book

4.A task instance that starts a transaction *using the
**javax.transaction.UserTransaction**instance *but fails to complete the
transaction is an error. The Java EE Product Provider is required to
detect this error and abort the transaction.


We can certainly remove this requirement if we decide this is not a good
idea to be included in the spec.

Regards
Anthony

On 2/22/13 2:46 PM, frowe_at_us.ibm.com wrote:
> That makes it somewhat easier to implement, but it still doesn't
> address my concern that transaction control isn't the job of the jsr236
> implementor. Can we take this issue up in the next release?