Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編) |
目次 索引 |
第11章 リソース管理プログラムの作成から起動まで |
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連携用プログラムの作成例を示します。
> otsmkxapgm -s xaosw -r "/libpath:'C:\Oracle\product\10.2.0\db_1\RDBMS\XA' oraxa10.lib" |
% otsmkxapgm -t thread -s RDBII_xa_switch -o otsmultixa.o |
Java言語のサーバアプリケーションでXA連携を行う場合には、以下に示すように2種類のXA連携プログラムを作成する必要があります。
>otsmkxapgm -s xaosw -java -r "/libpath:'C:\Oracle\product\10.2.0\db_1\RDBMS\XA' oraxa10.lib" |
環境変数ORALIBにはOracleのライブラリディレクトリを指定する必要があります。
%otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw -o /tmp/ots/otsoraxa.o |
環境変数ORALIBにはOracleのライブラリディレクトリを指定する必要があります。
%otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw -o /tmp/ots/libxajava_linkpgm.so |
>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コマンドを実行すると、コンパイルコマンドとリンクコマンドが動作します。
目次 索引 |