| Interstage Application Server アプリケーション作成ガイド (コンポーネントトランザクションサービス編) |
目次
索引
![]()
|
| 第3章 クライアントアプリケーションの作成 | > 3.2 クライアントアプリケーションソースの作成(C++言語) | > 3.2.2 ソースの作成 |
グローバルトランザクション運用を行うためには、CORBAのクライアントアプリケーションの処理に加えて、CosTransactions::Current::commitメソッドなどのCurrentインタフェースを呼び出して、データベース連携サービスにトランザクション処理を依頼します。
これらの処理を考慮したクライアントアプリケーションの構成について以下に示します。

クライアントアプリケーションをCORBAサービスに登録、およびトランザクションサービスの初期化を行います。
アプリケーション固有の処理部。トランザクションの開始から終了までの流れを記述します。
データベース連携サービスが提供するクライアントアプリケーション用ライブラリを結合します。
以下にクライアントアプリケーションの基本形を示します。
:
static CORBA::ORB_ptr orb;
static CosTransactions::Current_ptr Current;
static CosNaming::NamingContext_ptr obj;
static CosNaming::NamingContext_ptr naming_obj;
:
/* 初期化処理 */
orb = CORBA::ORB_init(argc, argv, FJ_OM_ORBid, *env);
:
naming_obj = NamingContext_obj->resolve(*name, *env); … 1
:
/* トランザクション依頼処理 */
obj = orb->resolve_initial_references
(CORBA_ORB_ObjectId_TransactionCurrent, *env); … 2
Current = CosTransactions::Current::narrow(obj);
Current->begin(*env); … 3
:
srvobj->ope1(para, *env … 4
:
if (env->exception()) … 5
Current->rollback(*env);
else
Current->commit(CORBA_TRUE, *env);
|
目次
索引
![]()
|