環境:アプリケーションは Spring Framework 2.5.6.SEC01 および iBatis 2.3.4.726 を使用しています。MVCデザインです。
シナリオは次のとおりです。
クライアントからのデータ入力・更新
更新ボタンを押して送信してください
データを処理し、DML を実行 (挿入、更新、削除)
結果をクライアントに戻し、データを表示する
ただし、ページがロードされたら、Javascript を介して API を呼び出す必要があります(API を制御することはできません。必要なパラメーターを渡して、成功またはエラーの場合に結果を確認するだけです)。
API が SUCCESS を返した場合、何もする必要はありません。しかし、それは ERROR を返します。ユーザーに通知するアラート メッセージを表示します。
ビュー (クライアント)、サービス、およびデータ アクセス レイヤーがあります。クライアントが送信を行うと (シナリオ #2)、サービスに入り、データを処理して自動的にトランザクションを開始します (シナリオ #3)。サービスの終了時にコミットを自動的に実行し、クライアントに戻ってデータを表示します (シナリオ #4)。
問題:コミットを実行しないようにトランザクションを一時停止してから、クライアントに戻って Javascript 経由で APIを呼び出すにはどうすればよいですか。API が SUCCESS を返したら、Ajax (またはその他の方法) を介してコミットを実行するか、ロールバックします。
正しい方向へのガイダンスをいただければ幸いです。