]
Cheng Fang reassigned WFLY-12958:
---------------------------------
Assignee: Cheng Fang (was: Panagiotis Sotiropoulos)
[GSS](7.3.z) Calling Asynchronous EJB will use the propagated caller
transaction which is not according to the specification
----------------------------------------------------------------------------------------------------------------------------
Key: WFLY-12958
URL:
https://issues.redhat.com/browse/WFLY-12958
Project: WildFly
Issue Type: Bug
Components: EJB
Reporter: Cheng Fang
Assignee: Cheng Fang
Priority: Blocker
Labels: spec_violation
Asynchronous Invocations are not supposed to be part of the callers transaction because
there is no guarantee that the async call is executed in parallel or after the caller
already ended.
This will cause warnings and exceptions if the asynchronous call is trying to use the
transaction while the container is commiting or rolling back the transaction.
It will break compatibility when migrating from earlier version (<=7.0).
According to the EJB specification
~~~quote
4.5.3 Transactions
The client’s transaction context does not propagate with an asynchronous method
invocation. From the
Bean Provider’s point of view, there is never a transaction context flowing in from the
client. This
means, for example, that the semantics of the REQUIRED transaction attribute on an
asynchronous
method are exactly the same as REQUIRES_NEW.
~~~