|
| 注意 : | Oracle Tuxedo CORBA Java クライアントと Oracle Tuxedo CORBA Java クライアント ORB は Tuxedo 8.1 で非推奨になり、サポートされなくなりました。Oracle Tuxedo CORBA Java クライアントおよび Oracle Tuxedo CORBA Java クライアント ORB のテキスト参照、関連するコード サンプルはすべてサードパーティの Java ORB ライブラリの実装/実行の簡易化とプログラマによる参照だけに使用する必要があります。 |
| 注意 : | サード パーティの CORBA Java ORB のテクニカル サポートは、各ベンダによって提供されます。Oracle Tuxedo では、サード パーティの CORBA Java ORB に関する技術的なサポートやマニュアルは提供していません。 |
CORBA アプリケーションでのトランザクションの使用に関する詳細については、『Tuxedo CORBA トランザクション』を参照してください。
Transactions サンプル アプリケーションでは、学生はクラスの登録ができます。コースの登録は、トランザクションのスコープ内で実行されます。Transactions サンプル アプリケーションは、以下のように機能します。
TooManyCredits ユーザ例外が University サーバ アプリケーションからクライアント アプリケーションに返される。続いて、クライアント アプリケーションによって、要求が拒否されたという内容の簡単なメッセージが表示されます。その際、クライアント アプリケーションはトランザクションをロールバックします。
図 5-1 に、Transactions サンプル アプリケーションのしくみを示します。

ここでは、Transactions サンプル アプリケーションにトランザクションを追加する手順について説明します。以下の手順は、「Basic サンプル アプリケーション」で概説した開発手順の追加手順です。
| 注意 : | この節に記載されている手順は既に完了しており、Transactions サンプル アプリケーションに組み込まれています。 |
開発プロセスでは、Object Management Group (OMG) インタフェース定義言語 (IDL) で Registrar の register_for_courses() オペレーションを定義します。register_for_courses() オペレーションには、NotRegisteredList パラメータがあり、登録に失敗したコースのリストをクライアント アプリケーションに返します。NotRegisteredList の値が空の場合、クライアント アプリケーションはトランザクションをコミットします。
また、TooManyCredits ユーザ例外も定義する必要があります。
開発プロセスでは、クライアント アプリケーションに次のコードを追加します。
クライアント アプリケーションでのトランザクションの使用については、『Tuxedo CORBA アプリケーション入門』および『Tuxedo CORBA トランザクション』を参照してください。
開発プロセスでは、University サーバ アプリケーションに次のコードを追加します。
これらのタスクについては、『Tuxedo CORBA サーバ アプリケーションの開発方法』を参照してください。
開発プロセスでは、UBBCONFIG ファイルで次のものが必要になります。
| 注意 : | Oracle 以外のデータベースを使用する場合、XA パラメータの定義については製品のマニュアルを参照してください。 |
トランザクション ログおよび UBBCONFIG ファイルのパラメータの定義については、『Oracle Tuxedo アプリケーションの設定』を参照してください。
開発プロセスでは、Registrar オブジェクトのトランザクション ポリシーを optional から always に変更します。always トランザクション ポリシーは、このオブジェクトが必ずトランザクションの一部であることを示します。CORBA オブジェクトのトランザクション ポリシーの定義については、『Tuxedo CORBA トランザクション』を参照してください。
Transactions サンプル アプリケーションをビルドするには、次の手順に従います。
| 注意 : | Transactions サンプル アプリケーションをビルドまたは実行する前に、「環境設定」の手順を実行しておく必要があります。 |
Transactions サンプル アプリケーションの各ファイルは、次のディレクトリにあります。
drive:\TUXDIR\samples\corba\university\transaction
/usr/TUXDIR/samples/corba/university/transaction
また、utils ディレクトリも作業ディレクトリにコピーする必要があります。utils ディレクトリには、ログ、トレース、および University データベースへのアクセスを設定するファイルが格納されています。
Transactions サンプル アプリケーションを作成するには、表 5-1 に示すファイルを使用します。
Oracle Tuxedo ソフトウェアのインストール時には、サンプル アプリケーションは読み取り専用に設定されています。Transactions サンプル アプリケーションのファイルを編集または作成するには、次のように作業ディレクトリにコピーしたファイル保護の属性を変更する必要があります。
prompt>attrib -r drive:\workdirectory\*.*
prompt>chmod u+rw /workdirectory/*.*
次のコマンドを使用して、Transactions サンプル アプリケーションのクライアント アプリケーションとサーバ アプリケーションのビルドに使用する環境変数を設定します。
次のコマンドを使用して、Transactions サンプル アプリケーションで使用する University データベースを初期化します。
prompt>nmake -f makefilet.nt initdb
prompt>make -f makefilet.mk initdb
次のコマンドを使用して、UBBCONFIG ファイルをロードします。
UBBCONFIG ファイルの作成プロセスでは、アプリケーション パスワードの入力が求められます。このパスワードは、クライアント アプリケーションへのログオンに使用されます。パスワードを入力して Enter キーを押します。その際、パスワードを再入力してパスワードの確認を求めるメッセージが表示されます。
トランザクション ログには、CORBA アプリケーションでのトランザクション処理が記録されます。開発プロセスでは、UBBCONFIG ファイルの TLOGDEVICE パラメータでトランザクション ログの場所を定義する必要があります。Transactions サンプル アプリケーションの場合、トランザクション ログは作業ディレクトリに格納されています。
Transactions サンプル アプリケーションのトランザクション ログを開くには、次の手順に従います。
crdl -b blocks -z directorypathclog -m SITE1
blocks にトランザクション ログに割り当てるブロック数を指定し、directorypath にトランザクション ログの場所を指定します。directorypath オプションは、UBBCONFIG ファイルの TLOGDEVICE パラメータで指定した場所と一致しなければなりません。Windows でのコマンドの例を次に示します。
crdl -b 500 -z c:\mysamples\university\Transaction\TLOG
開発プロセスでは、buildobjclient および buildobjserver コマンドを使用して、クライアント アプリケーションとサーバ アプリケーションをビルドします。また、クライアント アプリケーションとサーバ アプリケーションのトランザクション イベントを調整するために、データベース固有のトランザクション マネージャを作成します。ただし、Transactions サンプル アプリケーションの場合は、この手順は不要です。Transactions サンプル アプリケーションのディレクトリには、makefile が格納されています。この makefile により、クライアントとサーバ サンプル アプリケーションがビルドされ、TMS_ORA というトランザクション マネージャが作成されます。
| 注意 : | makefile では、次のパラメータがハード コードされ、Oracle データベース用のトランザクション マネージャが作成されます。 |
| 注意 : | RM=Oracle_XA |
| 注意 : | Oracle 以外のデータベースを使用する場合は、上記のパラメータを変更する必要があります。 |
Transactions サンプル アプリケーションの CORBA C++ クライアント アプリケーションとサーバ アプリケーションをビルドするには、次のコマンドを使用します。
prompt>nmake -f makefilet.nt
prompt>make -f makefilet.mk
Transactions サンプル アプリケーションを実行するには、次の手順に従います。
Transactions サンプル アプリケーションでシステムおよびサンプル アプリケーションのサーバ アプリケーションを起動するには、次のコマンドを入力します。
このコマンドを入力すると、次のサーバ プロセスが開始されます。
ほかのサンプル アプリケーションを使用するには、次のコマンドを入力して、システムおよびサンプル アプリケーションのサーバ プロセスを停止します。
Transactions サンプル アプリケーションの CORBA C++ クライアント アプリケーションを起動するには、次の手順に従います。
以降の節では、Transactions サンプル アプリケーションのクライアント アプリケーションの使用方法について簡単に説明します。
Transactions サンプル アプリケーションの CORBA C++ クライアント アプリケーションには、次の追加オプションがあります。
<R> Register for Courses
C++ CORBA クライアント アプリケーションを終了するには、Options プロンプトで「E」を入力します。
|