私は、weblogic サーバー 10.3 と ejb 3.0、および ORM 用の Toplink を使用しているアプリケーションを持っています。現在、トランザクションは UnitOfWork.commit() を使用して、createXX()、deleteXX() などの EJB リモート コンポーネント インターフェースに記述された特定のアクションをコミットしています。
uow.commit(); にコメントしようとすると 私のコードで ejb-jar.xml を宣言的に変更して、問題の特定の EJB モジュールがコンテナを持つようにし、createXX() メソッドに @TransactionAttribute(value=REQUIRES_NEW) を使用しました。理想的には、コンテナはしかし、それはコミットしていません。エラーはありません。参考までに、weblogic サーバー コンソールのチェックボックスで [グローバル トランザクションのサポート] がオフのままになっています。
プロンプトにはレコードが正常に作成されたと表示されますが (私のビジネスメッセージに従って)、ログをチェックインしている間、実際のコミットは uow.uow.registerNewObject(EntityObject); の後に発生していません。実行されます。