トランザクションは、コネクション確立後、または前のトランザクション終了後、データに対する初回の更新操作によって自動的に開始されます。以降のデータ更新はトランザクションが終了されるまで、このトランザクションの一部となります。
トランザクションは、コミットまたはロールバックすることで終了されます。
コミットとは、すべての変更を有効にすることです。
ロールバックとは、すべての変更を取り消すことです。
コミットおよびロールバックは、以下のAPIを使用します。これらのAPIを用いることで、アプリケーションはいつでもトランザクションを終了することができます。
種別 | API名 |
---|---|
Java API | commit |
rollback | |
.NET API | Commit |
Rollback | |
C API | ShunCommit |
ShunRollback |
このほか、トランザクションは以下のような場合に終了します。
終了要因と動作について説明します。
終了要因 | 動作 |
---|---|
アプリケーションプロセスが消滅した場合 | そのアプリケーションプロセスが実行中のトランザクションはロールバックされます。 |
アプリケーションを配置したサーバのダウンや通信障害により、アプリケーションプロセスが消滅したとconductorが判断した場合(注) | |
トランザクションを継続できないエラーが発生した場合 | そのトランザクションはロールバックされ、そのことがAPIの結果としてアプリケーションに通知されます。 |
注)復旧方法の詳細については、“トラブルシューティング集”の“Shunsakuシステムの復旧”を参照してください。