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

Remote client transaction timeout values are overwrote by hardcoded values

    XMLWordPrintable

    Description

    The EJB3 interceptor is not using client values for timeouts, this is a problem for users trying to use EJB for transaction propagation.

    Refer to the code in https://github.com/wildfly/wildfly/blob/master/ejb3/src/main/java/org/jboss/as/ejb3/remote/EJBRemoteTransactionPropagatingInterceptor.java:
    private void createOrResumeXidTransaction(final XidTransactionID xidTransactionID) throws Exception {
    final TransactionManager transactionManager = this.ejbRemoteTransactionsRepository.getTransactionManager();
    final Transaction alreadyCreatedTx = this.ejbRemoteTransactionsRepository.getImportedTransaction(xidTransactionID);
    if (alreadyCreatedTx != null)

    { // resume the already created tx transactionManager.resume(alreadyCreatedTx); }

    else

    { // begin a new tx and add it to the tx repository // TODO: Fix the tx timeout (which currently is passed as 300 seconds) final Transaction newSubOrdinateTx = this.ejbRemoteTransactionsRepository.importTransaction(xidTransactionID, 300); // associate this tx with the thread transactionManager.resume(newSubOrdinateTx); }

    }

      Gliffy Diagrams

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dmlloyd David Lloyd
                Reporter:
                jolee Johnathon Lee
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: