]
Stuart Douglas updated WFLY-7860:
---------------------------------
Fix Version/s: 13.0.0.Beta1
Only import transactions lazily
-------------------------------
Key: WFLY-7860
URL:
https://issues.jboss.org/browse/WFLY-7860
Project: WildFly
Issue Type: Enhancement
Components: EJB
Reporter: David Lloyd
Assignee: David Lloyd
Fix For: 13.0.0.Beta1
The EJB client/server protocol can perform many optimizations if a server can lazily
import the transaction only if needed when an invocation arrives for processing.
Unfortunately our CMTTxInterceptor infrastructure is built around the assumption that the
transaction (if any) will resumed on the calling thread, which prevents the EJB transport
protocol from reporting back that the transaction was not used.
The CMTTxInterceptor and its subtypes must be modified to look for the transaction on the
invocation object, rather than on the current thread. The local EJB invocation sources
must suspend the transaction and install it on to the invocation context.
CMTTxInterceptor would then assume that the current thread holds no transaction, resuming
if necessary, instead of assuming that the current thread holds the inherited transaction
and suspending if necessary.
Once this is complete,
org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor can be completely
removed from the container.