6.6.1 セッションとトランザクション

ここでは,セッションとトランザクションについて説明します。

<この項の構成>
(1) セッション
(2) トランザクション

(1) セッション

セッションとは,文書空間に接続している間のことです。文書空間に接続することを,セッションの確立といいます。文書空間への接続とは,DocumentBrokerサーバと接続して,文書空間にログインすることです。文書空間オブジェクトを操作するためには,まず,セッションを確立する必要があります。

文書空間オブジェクトの操作が完了したら,セッションを切断します。セッションの切断とは,DocumentBrokerサーバとの接続を切断して,文書空間からログアウトすることです。

セッションは,セッションオブジェクトによって管理します。セッションオブジェクトは,セッションを確立および切断する機能とセッション内のトランザクションを制御する機能を持つJava クラスライブラリのオブジェクトです。DbjFactory#createSessionメソッド実行時に,メモリ空間上に作成されます。DbjSessionインターフェースの機能を実装したオブジェクトです。

(2) トランザクション

セッション内での文書空間へのアクセスはトランザクション単位に分割されます。トランザクションとは,文書空間オブジェクト操作の処理単位です。トランザクション単位で,文書空間オブジェクトに対する操作を確定または取り消すことができます。

トランザクションの範囲は,Java クラスライブラリのメソッド単位か,またはユーザアプリケーションプログラムが明示的に指定した開始と終了の間の範囲になります。ユーザアプリケーションプログラムで明示的なトランザクションの範囲を指定しない場合は,メソッド単位でトランザクションが分割されます。トランザクションの範囲を明示的に指定するかメソッド単位で分割するかは,ユーザアプリケーションプログラムで選択できます。

ただし,トランザクションは,一つのセッション内だけで有効です。複数のセッションにわたったトランザクションは指定できません。また,一つのセッション内で,明示的に範囲を指定できるトランザクションは一つだけです。一つのトランザクションが終了しないうちに,別のトランザクションを明示的に開始することはできません。