初めて Java エンタープライズ アプリケーションを作成して s を使用しようとしていますUserTransaction
。したがって、JNDI Lookup を使用しjava: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 を使用しています