トランザクショナル分散オブジェクト基盤 TPBroker ユーザーズガイド

[目次][索引][前へ][次へ]


4.1.2 XAインタフェース

TPBrokerはXAインタフェースのすべての関数をサポートしていますが,マイグレーション機能についてはサポートしていません。

<この項の構成>
(1) リソースマネージャとの連携
(2) マルチスレッド対応
(3) OTSとのモデルインタオペラビリティ

(1) リソースマネージャとの連携

TPBrokerとXAインタフェースを使用して,DBMSなどのリソースマネージャと連携し,トランザクションを処理できます。リソースマネージャと連携する場合は,「7.4.1 XAインタフェースをサポートしたリソースマネージャの場合」に示す手順に従ってください。

(2) マルチスレッド対応

TPBrokerのXAインタフェースサポートはマルチスレッドに対応しているため,マルチスレッド環境でXAインタフェースによってリソースマネージャと連携できます。TPBrokerはシングルスレッド環境をサポートしていません。リソースマネージャによってはXAライブラリがマルチスレッドに対応していないものがあり,この場合,TPBrokerと連携できません。

マルチスレッド環境でXAインタフェースによってリソースマネージャと連携する場合,リソースマネージャによって,次のような違いがあります。

TPBrokerでは,リソースマネージャ定義set_xa_open_scope(xa_open発行単位)およびset_xa_open_timing(xa_open発行タイミング)を設定することでxa_openおよびxa_close関数の発行のタイミングを変更し,リソースマネージャとXAインタフェースで連携できるようにしています。

(3) OTSとのモデルインタオペラビリティ

OTSインタフェースで作成されたアプリケーションプログラムを,XAインタフェースを使用してリソースマネージャと連携させることができます。ただし,OTSのアプリケーションモデルは,フラットトランザクション,間接コンテキスト管理,および暗黙的プロパゲーションを使用したものに限ります。

したがって,XAインタフェースを使用してリソースマネージャと連携する場合は,ネスティッドトランザクションは使用できません。また,直接コンテキスト管理および明示的プロパゲーションを使用する場合は,トランザクションをスレッドに関連づけてから(Currentオブジェクトのresumeオペレーションを発行してから)リソースマネージャにアクセスする必要があります。

[目次][前へ][次へ]


[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.