Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-1103

EJB using CMT demarcation with an injection point of type UserTransaction is not detected as definition error

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.0.0.Alpha3
    • 1.1.5.Final, 2.0.0.Alpha1
    • None
    • None

    Description

      CDI spec 3.7. Additional built-in beans states:
      "If a Java EE component class has an injection point of type UserTransaction and qualifier @Default, and may not validly make use of the JTA UserTransaction according to the Java EE platform specification, the container automatically detects the problem and treats it as a definition error."

      ... and EJB 3.1 spec states:
      13.3.4 Enterprise Beans Using Container-Managed Transaction Demarcation
      "The enterprise bean's business methods, message listener methods, business method interceptor meth-
      ods, lifecycle callback interceptor methods, or timeout callback methods must not attempt to obtain or
      use the javax.transaction.UserTransaction interface. ..."
      16.12 UserTransaction Interface
      "The container must make the UserTransaction interface available to the enterprise beans that are
      allowed to use this interface (only session and message-driven beans with bean-managed transaction
      demarcation are allowed to use this interface) either through injection using the Resource annotation
      or in JNDI under the name java:comp/UserTransaction, in addition to through the EJBContext
      interface. ..."

      Attachments

        Activity

          People

            rhn-engineering-jharting Jozef Hartinger
            mkouba@redhat.com Martin Kouba
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: