最近のインタビューで、インタビュアーは私に質問をしました. 以下は質問です -
リクエストがサーブレットに送信され、サーブレットがいくつかの DB トランザクション (最初の更新とコミット、次に読み取りと更新、再度コミット) を実行するとします。これには約 3 ~ 4 分かかります。その間にユーザーがキャンセル ボタンを押すと、接続が確立されます。失った。トランザクション全体をどのようにロールバックしますか。
私の答えは - サーブレットが IOException をスローするので、例外を処理してトランザクションをロールバックできます。
しかし、彼は、すでに行われている DB コミットについて、どのようにロールバックしますか、と私に質問しました。
私は空白で、そのような状況に遭遇したことはないと答えました。しかし、そのような状況で何ができるかを本当に知りたいです。
ありがとう。