Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-3045

JTA CDI regression (or Standalone JTA 1.2 Quickstart failure)

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 5.9.1.Final
    • 5.9.0.Final
    • Demonstrator
    • None

      The recent changes to our JTA CDI support (https://issues.jboss.org/browse/JBTM-3044) have either caused a regression or the Standalone JTA 1.2 Quickstart needs updating. The failure is:

      testMandatoryTransactionWithExistingTransaction(org.jboss.narayana.quickstarts.jta.TestCase) Time elapsed: 0.536 sec <<< ERROR!
      javax.enterprise.inject.CreationException: Not a compound name: TransactionManager

      See for example CI run http://narayanaci1.eng.hst.ams2.redhat.com/job/narayana-quickstarts/159/console

      If the issue does turn out to be a regression then the priority needs to be marked as Critical.

            [JBTM-3045] JTA CDI regression (or Standalone JTA 1.2 Quickstart failure)

            Laird Nelson added a comment - Pull request filed: https://github.com/jbosstm/narayana/pull/1351

            The root cause is understood. This is not a regression.

            Briefly, the JBoss NamingContext class as used indirectly by the quickstart incorrectly expects that all Name instances supplied to, for example, lookup(Name) be CompoundName instances. The TransactionExtension class correctly (from the point of the JNDI specification) uses a CompositeName to lookup java:/TransactionManager, but the JBoss NamingContext rejects it because it is not a CompoundName.

            The workaround will be for the TransactionExtension class to supply a String ("java:/TransactionManager") instead of a hand-built CompositeName. Then non-compliant InitialContext implementations will continue to work as well as compliant ones.

            Laird Nelson added a comment - The root cause is understood. This is not a regression. Briefly, the JBoss NamingContext class as used indirectly by the quickstart incorrectly expects that all Name instances supplied to, for example, lookup(Name) be CompoundName instances. The TransactionExtension class correctly (from the point of the JNDI specification) uses a CompositeName to lookup java:/TransactionManager , but the JBoss NamingContext rejects it because it is not a CompoundName . The workaround will be for the TransactionExtension class to supply a String (" java:/TransactionManager ") instead of a hand-built CompositeName . Then non-compliant InitialContext implementations will continue to work as well as compliant ones.

              Unassigned Unassigned
              rhn-engineering-mmusgrov Michael Musgrove
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: