TransactionManager と ResourceManager を使用して、2 フェーズ コミット プロトコルを実装する必要があります。私はこれを何時間もグーグルで検索してきましたが、有用なものが見つかりません。プロトコルがどのように機能するかは知っていますが、この実装をどこから始めればよいかわかりません。誰かが私を正しい方向に向けることができますか?
2 に答える
まず、Springがトランザクション管理で提供するものを見ていきます。彼らはトランザクションマネージャーを切り替えるための素晴らしいサポートを持っています。アプリケーションの実行方法(つまり、どのアプリサーバー)を指定しませんでしたが、各アプリサーバーにはJTAトランザクションマネージャーの実装があります。Springは、複数のアプリサーバーにプラグイン可能なトランザクションマネージャーの実装を提供します。たとえば、IBM WebSphere用の1つ(org.springframework.transaction.jta.WebSphereUowTransactionManager)があります。これにより、アプリケーションでトランザクションマネージャーを簡単に切り替えることができます。
以下はSpringリファレンスです。2フェーズコミットは、グローバルトランザクション管理(ローカルトランザクション管理ではなく)に関連してよく見られることに注意してください。
http://static.springsource.org/spring/docs/3.0.x/reference/transaction.html
アプリサーバーを提供すれば、より良い答えが得られるかもしれません。
Atomikos の実装を見てください。 http://www.atomikos.com/Documentation/TwoPhaseCommitWithTomcatSpringJMSAndJDBC