1.4. トランザクション用語の説明

以下の表は、重要なトランザクション用語を示しています。

用語説明

境界

トランザクションの境界とは、トランザクションの開始および終了を指します。トランザクションの終了とは、トランザクションで実行された作業がコミットまたはロールバックされることを意味します。たとえば、境界は、トランザクションクライアント API を呼び出して明示的にすることも、トランザクションエンドポイントからメッセージがポーリングされるときはいつでも暗黙的にすることもできます。詳細は、9章トランザクションを使用する Camel アプリケーションの作成 を参照してください。

Resources

リソース は、永続化または完全な変更を行うことができるコンピューターシステムのコンポーネントです。実際には、リソースはほぼ常にデータベース上で階層化されたデータベースまたはサービスになります (例: 永続性のあるメッセージサービス)。ただし、他の種類のリソースも考えられます。たとえば、現金自動預払機 (ATM) はリソースの種類です。顧客がマシンから現金を物理的に受け取ると、トランザクションを元に戻すことはできません。

トランザクションマネージャー

トランザクションマネージャー は、1 つ以上のリソースの間のトランザクションを調整するロールを果たします。多くの場合、トランザクションマネージャーはリソースに組み込まれています。たとえば、エンタープライズレベルのデータベースには通常、そのデータベースでコンテンツ変更が可能なトランザクションを管理できるトランザクションマネージャーが含まれます。複数の リソースを使用するトランザクションには、通常 外部 トランザクションマネージャーが必要です。

トランザクションコンテキスト

トランザクションコンテキスト は、トランザクションの追跡に必要な情報をカプセル化するオブジェクトです。トランザクションコンテキストの形式は、関連するトランザクションマネージャーの実装によって異なります。少なくとも、トランザクションコンテキストには一意のトランザクション識別子が含まれます。

分散トランザクション

分散トランザクションは、トランザクションスコープが複数のネットワークノードにまたがる分散システムのトランザクションを指します。分散トランザクションをサポートするには基本的に、トランザクションコンテキストの送信をサポートするネットワークプロトコルが必須です。分散トランザクションは Apache Camel トランザクションの対象範囲外です。「分散トランザクションマネージャー」 も参照してください。

X/Open XA 標準

X/Open XA 標準は、リソースをトランザクションマネージャーと統合するためのインターフェイスを記述します。複数のリソースが含まれるトランザクションを管理するには、参加するリソースが XA 標準をサポートする必要があります。XA 標準をサポートするリソースは、XA スイッチ という特別なオブジェクトを公開します。このオブジェクトで、トランザクションマネージャー (またはトランザクション処理モニター) がリソースのトランザクションを制御できるようにします。XA 標準は、1 相コミットプロトコルと 2 相コミットプロトコルの両方をサポートします。