我正在尝试制作我的第一个 Java 企业应用程序并使用UserTransaction
s. 因此,我使用 JNDI Lookupjava:comp/UserTransaction
来获取我的 UserTransaction 对象。
public void myMethod(MyEntity e) throws ApplicationException {
try {
this.ut = getUserTransaction();
this.ut.begin();
this.myStatefulBean.myBusinessMethod(e);
} catch ...
当我开始我的事务.begin()
并尝试调用我的有状态 Bean 中的任何方法(在启动 UserTransaction之前EJBTransactionRolledbackException
正常工作)时,我得到一个导致我出现以下错误的错误:
java.lang.IllegalStateException: cannot add non-XA Resource to global JTS transaction
我正在使用的 Bean 带有注释,@DataSourceDefinition
因此className = "org.apache.derby.jdbc.ClientXADataSource"
没有非 XA 资源。我究竟做错了什么?
我正在使用 openjpa 2.2.1,Java EE 版本 6