Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-7860

Only import transactions lazily

    Details

    • Affects:
      Documentation (Ref Guide, User Guide, etc.), Release Notes
    • Estimated Difficulty:
      Medium

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dmlloyd David Lloyd
                  Reporter:
                  dmlloyd David Lloyd
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: