![]() |
![]() |
|
|
理解を深めるために
runserver を使用してサンプル・アプリケーションのビルドと実行を行うほかに、このアプリケーションの各部分について理解することも有用です。ここでは、参照しておくと役立つ内容について説明します。このアプリケーションについて理解を深めると、ほかのアプリケーションも理解できるようになります。
setenv: 環境の設定
setenv は、BEA Tuxedo の開発でよく使用されるファイルの 1 つです。TUXDIR、APPDIR、および PATH の 3 つの変数が設定されています。これらの変数は、BEA Tuxedo システムで作業しているときに常に必要になります。SUN マシンで実行する場合は、PATH 変数の先頭に別個に bin が必要になるので注意してください。LD_LIBRARY_PATH、SHLIB_PATH、または LIBPATH は、共用ライブラリを使用してシステムをビルドする場合に重要です。使用する必要のある変数は、お使いのオペレーティング・システムに依存します。TUXCONFIG は、システムを起動する前に設定しておく必要があります。QMADMIN は、変数で設定することも、qmadmin(1) コマンド行で指定することもできます。
考慮すべき点は、BEA Tuxedo /Q の作業環境にこのようなファイルが必要とされるかどうか、また、自分の .profile にコマンドを記述して、ログイン時に環境設定を行うかどうかです。
makefile: アプリケーションの作成
makefile は、サーバおよびクライアントをビルドするために、それぞれ buildserver(1) および buildclient(1) を使用することに注意してください。これらのコマンドを個別に実行することも、または make 機能を使用してアプリケーションを常に最新にしておくこともできます。
ここでは makefile について説明していますが、クライアント・プログラムとサーバ・プログラムの .c ファイルも参照しておくことをお勧めします。BEA Tuxedo /Q と関連して特に重要なことは、tpenqueue および tpdequeue の呼び出しです。qspace および qname 引数の値に特に注意してください。コンフィギュレーション・ファイルを確認すると、これらの値の設定元がわかります。
ubb.sample: ASCII コンフィギュレーション・ファイル
コンフィギュレーション・ファイルの中で、特に直接関係する 3 つのエントリとして、TMQUEUE サーバの CLOPT パラメータ、TMQFORWARD サーバの CLOPT パラメータ、および *GROUPS エントリの OPENINFO パラメータがあります。次のコードは、この 3 つを抽出したものです。
# First the CLOPT parameter from TMQUEUE:
CLOPT = "-s QSPACENAME:TMQUEUE -- "
# Then the CLOPT parameter from TMQFORWARD:
CLOPT="-- -i 2 -q STRING"
# Finally, the OPENINFO parameter from the QUE1 group:
OPENINFO = "TUXEDO/QM:<APPDIR pathname>/QUE:QSPACE"
TMQUEUE の CLOPT パラメータは、サービスのエイリアスとして QSPACENAME を指定しています。再度 client.c を参照して、tpenqueue および tpdequeue の qspace 引数を確認してください。TMQFORWARD の CLOPT パラメータは、-q オプションを使用して STRING サービスを指定しています。これもそのサービス用にメッセージが登録されるキューに指定された名前であり、client.c にある tpenqueue の qname 引数として指定されています。
tmloadcf(1) コマンドは、ASCII 形式のコンフィギュレーション・ファイルをコンパイルして TUXCONFIG ファイルを作成するために使用されます。
crlog: トランザクション・ログの作成
crlog のスクリプトは、tmadmin(1) を呼び出して、TLOG 用のデバイス・リスト・エントリを作成し、その後でコンフィギュレーションで指定されているサイトのためのログを作成します。キュー機能のすべてのメッセージは、トランザクション内でキューに登録され、キューから取り出されるので、TMS_QM サーバによって管理されるトランザクションをトラッキングするログが必要になります。
crque: キュー・スペースとキューの作成
crque のスクリプトは、qmadmin(1) を呼び出して、このサンプル・アプリケーションで使用されるキュー・スペースおよびキューを作成します。キュー・スペースは、QSPACE という名前になることに注意してください。この名前は、コンフィギュレーション・ファイルの OPENINFO パラメータの最後の引数として指定される名前でもあります。STRING および RPLYQ という名前のキューが作成されます。このスクリプトの qspacecreate 部分では、エラー・キューの名前が指定されています。ただし、このスクリプトには、そのキューを作成する qcreate コマンドは含まれていません。この部分は、必要に応じて後で変更します。
アプリケーションの起動、実行、およびシャットダウン
アプリケーション・プログラムを作成し、TUXCONFIG をロードし、キュー・スペースおよびキューを作成したら、次にアプリケーションを起動して実行します。アプリケーションを起動するには、次のコマンドを実行します。
tmboot -y
-y オプションは、tmboot が起動前の確認用プロンプトを表示しないようにします。
サンプル・アプリケーションを実行するには、単に次のコマンドを入力します。
client
アプリケーションをシャットダウンするには、tmshutdown コマンドを使用します。
終了処理
runsample スクリプトには、スクリプト実行前の環境に戻すためのコマンドが 3 つあります。make clean コマンドでは、make を使用して、クライアント用とサーバ用のオブジェクト・ファイルと実行可能ファイルを削除します。
rmipc コマンドは、キュー・スペースの IPC 資源が tmshutdown を使用しても自動的に削除されないため、使用します。tmshutdown は、アプリケーションで使用される BEA Tuxedo IPC 資源を削除します。rmipc を参照すると、rmipc が qmadmin を呼び出し、qmadmin の ipcrm コマンドを使用していることがわかります。その場合、QSPACE を指定して削除する資源が識別されています。
このスクリプトの最後のコマンドは、rm コマンドです。このコマンドは、アプリケーションで生成された数多くのファイルを削除します。これらのファイルが残っていても問題はありません。実際、このサンプル・アプリケーションで作業を続ける場合、tuxconfig、QUE、および TLOG は再度作成しなくても済むように残しておくと便利です。
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|