0

ToplinkをCMTメッセージ駆動型Beanと統合しようとしています。私のMDBはCMTです。unitofwork commitを使用しようとすると、グローバルトランザクションが存在するため、ローカルコミットを実行できないというエラーが発生します。トップリンクを調査した後、彼らは次のことを提案しました。外部接続プールを使用し、getactiveUnitofworkを使用してコミットします。接続プーリングと外部トランザクションコントローラ(OC4Jトランザクションコントローラ)にOracle10.1.3コンテナを使用しています。getActiveUnitWork()。commitに変更すると、アクティブな作業単位がnullであるため、nullポインターを取得します。私の理解では、コンテナはMDBのメッセージが実行されたときにトランザクションを開始します。したがって、toplink getactive作業単位は、作業単位を外部トランザクションに関連付ける必要があります。Toplink GetActive作業単位メソッドは、外部トランザクションが存在しない場合にのみnullを返す必要があります。この問題を解決する方法や何が問題なのかわかりません。これについての助けに感謝します。

ありがとう。TZ

4

1 に答える 1

0

セッションにExternalTransactionControllerが正しく設定されていること、およびJTAトランザクションがアクティブになっていることを確認してください。

于 2012-10-31T14:18:33.160 に答える