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