これがシナリオです。ちなみに、Java中心の回答を探しています。
- クライアント コードは、プロバイダー アプリケーション #1 から REST サービス A (POST) を呼び出します。
- クライアント コードは、JDBC を使用して内部データベースを直接更新します。
- クライアント コードは、プロバイダー アプリケーション #2 から REST サービス B (POST) を呼び出します。
- ステップ 1 から 3 は、2 フェーズ コミットをサポートする分散トランザクションで実行する必要があります。つまり、ステップ 2 のデータベースの更新が失敗した場合、ステップ 1 の POST を元に戻す必要があります。ステップ 3 の POST が失敗した場合、ステップ 1 の POST とステップ 2 のデータベース更新を元に戻したいと考えています。
独自の補正コードを記述せずに (ステップ 1 と 2 を元に戻すため)、JTA を使用してこれを達成する方法はありますか?