ローカル トランザクションをサポートする JCA アダプタを作成しようとしています。最後のエージェント最適化を使用して、コネクタを XADataSource と同じトランザクションに入れたいと考えています。
仕様によると、コミット中にエラーを示すためにLocalTransactions.commit
スローする必要があり、XA トランザクションをロールバックする必要があります。LocalTransactionException
ただし、これは起こりません。server.log にいくつかのスタック トレースが表示されるだけで、トランザクションは準備済みの状態のままです (そこでハングします)。呼び出しをデバッグし、glassfish は最後のエージェントの最適化を実際に実行しますが、ConnectorXAResource.commit
(それを呼び出すと)、LocalTransactionException
ロールバックに至らない例外に変換されます。
これを解決するための提案はありますか?