Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編)
目次 索引 前ページ次ページ

第11章 リソース管理プログラムの作成から起動まで

11.1 XA連携用プログラムの作成

 XA連携用プログラムは、データベースとXAインタフェースで連携するためのプログラムです。


 JTSを利用する場合は、XA連携プログラムを作成する必要はありません。


 XA連携用プログラムは、リソースの種別ごとにotsmkxapgmコマンドを使用して作成しますが、1つのサーバアプリケーションから複数のリソースへアクセスするような場合は、リソースごとのxa_switch_t構造体の名前を指定して1つのXA連携用プログラムを作成する必要があります。この、複数のリソースアクセス用に作成したXA連携用プログラムは、サーバアプリケーション作成時にリンクするためのものであり、リソース管理プログラム作成には使用できません。リソース管理プログラム用には、個々にXA連携用プログラムを準備するようにしてください。

 データベース連携サービスでは、標準に以下のXA連携用プログラムを提供しています。これらのXA連携用プログラムは、Interstageインストールフォルダ\ots\program\rsc配下に格納されています。このうち、Symfoware/RDB用のXA連携用プログラムは、プロセスモード用とスレッドモード用があり、スレッドモード用のXA連携用プログラムは、Symfoware/RDBから提供されているスレッド用ライブラリを意識したものです。よって、Symfoware/RDBを使用する場合、環境にあわせてスレッドモード用ライブラリあるいは、プロセスモード用ライブラリを使用してください。また、MQDに関係するXA連携用プログラムは、すべてスレッドモード用になります。

 なお、xa_switch_t構造体の詳細な情報は、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。


 このXA連携用プログラムは、多重では動作しませんが、スレッドモードで作成することができます。スレッドモードのXA連携用プログラムとは、データベースベンダ提供のライブラリのうち、スレッド用ライブラリを使用したものを示します。このスレッドモードのXA連携用プログラムを作成する場合、otsmkxapgmコマンド実行時にタイプとしてスレッドモードを指定します。省略した場合は、プロセスモードのXA連携用プログラムを作成します。サーバのCORBAアプリケーションをスレッドモードで動作させる場合、すなわち、スレッド用のデータベースライブラリをユーザアプリケーションでも使用する場合、XA連携用プログラムもスレッドモードとして作成する必要があります。
 データベース連携サービスでは、標準に以下のXA連携用プログラムを提供しています。これらのXA連携用プログラムはデータベース連携サービスのインストールディレクトリ/program/xa配下に以下に示すファイル名で格納されています。このうち、Symfoware/RDB用のXA連携用プログラムは、プロセスモード用とスレッドモード用があり、スレッドモード用のXA連携用プログラムは、Symfoware/RDBから提供されているスレッド用ライブラリを意識したものです。よって、Symfoware/RDBを使用する場合、環境にあわせてスレッドモード用ライブラリあるいは、プロセスモード用ライブラリを使用してください。また、MQDに関係するXA連携用プログラムは、すべてスレッドモード用になります。

 なお、xa_switch_t構造体の詳細な情報は、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。

 なお、xa_switch_t構造体の詳細な情報は、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。

 Java言語のサーバアプリケーションを作成するとき以外は、リソース管理プログラム、サーバアプリケーションに、同じXA連携用プログラムを使用してリンクします。
 以下に、XA連携用プログラムの作成例を示します。

Oracle用XA連携用プログラム作成例(Oracle10g)

> otsmkxapgm -s xaosw -r "/libpath:'C:\Oracle\product\10.2.0\db_1\RDBMS\XA' oraxa10.lib"
  -o D:\temp\ots\otsoraxa.dll

スレッドモードのSymfoware/RDB用XA連携用プログラム作成例

% otsmkxapgm -t thread -s RDBII_xa_switch -o otsmultixa.o

Java言語用のXA連携用プログラム

 Java言語のサーバアプリケーションでXA連携を行う場合には、以下に示すように2種類のXA連携プログラムを作成する必要があります。

サーバアプリケーション用のXA連携用プログラムの作成例(Oracle10gの場合)

>otsmkxapgm -s xaosw -java -r "/libpath:'C:\Oracle\product\10.2.0\db_1\RDBMS\XA' oraxa10.lib"
  -o D:\temp\ots\otsxaora10g_java.dll


サーバアプリケーション用のXA連携用プログラムの作成例(Oracle10gの場合)

 環境変数ORALIBにはOracleのライブラリディレクトリを指定する必要があります。

%otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw  -o /tmp/ots/otsoraxa.o

サーバアプリケーション用のXA連携用プログラムの作成例(Oracle10gの場合)

 環境変数ORALIBにはOracleのライブラリディレクトリを指定する必要があります。

%otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw  -o /tmp/ots/libxajava_linkpgm.so

リソース管理プログラム用のXA連携用プログラムの作成例(Oracle10gの場合)

>otsmkxapgm -s xaosw -r "/libpath:'C:\Oracle\product\10.2.0\db_1\RDBMS\XA' oraxa10.lib" -o D:\temp\otsoraxa.dll

注意

 otsmkxapgmコマンドを使用してXA連携用プログラムを作成すると、ファイルの拡張子"DLL"と"LIB"の2つのライブラリファイルが作成されます。ファイルの拡張子"LIB"のファイルは、otslinkrscコマンドおよびtdlinkapmコマンドの入力情報になります。また、ファイルの拡張子"DLL"のライブラリファイルは、リソース管理プログラムを起動する場合、システム環境変数PATHにファイルの格納場所を設定します。なお、otsmkxapgmコマンドを実行する際、コンパイラが必要になります。otsmkxapgmコマンドを実行すると、コンパイルコマンドとリンクコマンドが動作します。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED