![]() ![]() ![]() ![]() ![]() ![]() ![]() |
注意: | 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アプリケーションでのトランザクションの使用に関する詳細は、『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
ユーザー例外も定義する必要があります。
開発プロセスでは、クライアント・アプリケーションに次のコードを追加します。
クライアント・アプリケーションでのトランザクションの使用については、『Oracle Tuxedo CORBAアプリケーション・スタート・ガイド』および『CORBAトランザクションの使用』を参照してください。
開発プロセスでは、Universityサーバー・アプリケーションに次のコードを追加します。
これらのタスクについては、『CORBAサーバー・アプリケーションの作成』を参照してください。
開発プロセスでは、UBBCONFIG
ファイルで次のものが必要になります。
注意: | Oracle以外のデータベースを使用する場合、XAパラメータの定義については製品のドキュメントを参照してください。 |
トランザクション・ログおよびUBBCONFIG
ファイルのパラメータの定義については、『Oracle Tuxedoアプリケーションの設定』を参照してください。
開発プロセスでは、Registrar
オブジェクトのトランザクション・ポリシーをoptional
からalways
に変更します。always
トランザクション・ポリシーは、このオブジェクトが必ずトランザクションの一部であることを示します。CORBAオブジェクトのトランザクション・ポリシーの定義については、『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
directorypath
clog -m SITE1
blocks
にトランザクション・ログに割り当てるブロック数を指定し、directorypath
にトランザクション・ログの場所を指定します。directorypath
オプションは、UBBCONFIG
ファイルのTLOGDEVICE
パラメータで指定した場所と一致する必要があります。Windowsでのコマンドの例を次に示します。
crdl -b 500 -z c:\mysamples\university\Transaction\TLOG
開発プロセスでは、buildobjclient
およびbuildobjserver
コマンドを使用して、クライアント・アプリケーションとサーバー・アプリケーションをビルドします。また、クライアント/サーバー・アプリケーションのトランザクション・イベントを調整するために、データベース固有のトランザクション・マネージャを作成します。ただし、Transactionsサンプル・アプリケーションの場合は、この手順は不要です。Transactionsサンプル・アプリケーションのディレクトリには、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」
を入力します。
![]() ![]() ![]() |