![]() |
![]() |
|
|
サービスの宣言と宣言の取り消し
サーバは起動時に、コンフィギュレーション・ファイルの CLOPT パラメータに指定された値に基づいて、提供するサービスを宣言します。
注記 サーバが宣言するサービスは、buildserver コマンドの実行時に最初に定義されます。-s オプションを使用すると、複数のサービスをカンマ区切りで指定できます。また、宣言されたサービスと異なる名前のルーチンを呼び出して、サービス要求を処理できます。詳細については、『BEA Tuxedo コマンド・リファレンス』の buildserver(1)を参照してください。
デフォルトでは、サーバに組み込まれたすべてのサービスをそのサーバが宣言します。詳細については、『ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス』の UBBCONFIG(5) または servopts(5) リファレンス・ページを参照してください。
宣言されたサービスでは掲示板のサービス・テーブル・エントリが使用されるので、リソースが消費される場合があります。そのため、サーバの起動時には、提供されるサービスのサブセットだけを利用できるようにします。アプリケーションで利用できるサービスを制限するには、コンフィギュレーション・ファイルの SERVERS セクションで該当するエントリに CLOPT パラメータを定義し、-s オプションの後に必要なサービスをカンマで区切って指定します。また、-s オプションを使用すると、サービス要求を処理するために呼び出される宣言済みのサービスと異なる名前のルーチンを呼び出すこともできます。詳細については、『ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス』の servopts(5) リファレンス・ページを参照してください。
BEA Tuxedo アプリケーションの管理者は、tmadmin(1) の advertise および unadvertise コマンドを使用して、サーバで提供されるサービスを管理できます。TPADVERTISE および TPUNADVERTISE ルーチンを使用すると、要求/応答型サーバまたは会話型サーバでのサービスの宣言を動的に制御できます。ただし、宣言されるサービス、または宣言を取り消すサービスは、要求を行うサービスと同じサーバ内になければなりません。
サービスの宣言
TPADVERTISE(3cbl) 関数の呼び出しには、次の文法を使用します。
01 SERVICE-NAME PIC X(15).
01 PROGRAM-NAME PIC X(32).
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPADVERTISE" USING SERVICE-NAME PROGRAM-NAME TPSTATUS-REC.
次の表は、TPADVERTISE データ構造体のメンバを示しています。
TPADVERTISE データ構造体のメンバ
サービス宣言の取り消し TPUNADVERTISE(3cbl) ルーチンは、掲示板のサービス・テーブルからサービス名を削除します。サービス名が削除されたサービスは、宣言されていない状態になります。 TPUNADVERTISE ルーチンの呼び出しには、次の文法を使用します。 TPUNADVERTISE データ構造体のメンバは、次の表で説明する SERVICE-NAME だけです。 TPUNADVERTISE データ構造体のメンバ
01 SERVICE-NAME PIC X(15).
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPUNADVERTISE" USING SERVICE-NAME TPSTATUS-REC.
メンバ |
説明 |
---|---|
SERVICE-NAME |
宣言するサービスの名前。サービス名は 15 文字以下の文字列で指定します。15 文字を超える名前は切り捨てられます。SPACES 文字列は指定できません。NULL 文字列が指定されると、エラー (TPEINVAL) になります。 |
例: サービスの動的な宣言と宣言の取り消し 次のコード例は、TPADVERTISE ルーチンの使用方法を示しています。このコードでは、サーバ TLR が起動時に TLRINIT サービスだけを提供するようにコーディングされています。初期化後、TLRINIT は DEPOSIT と WITHDRAW という 2 つのサービスを宣言します。両サービスとも TLRFUNCS ルーチンによって実行され、サーバ TLR に組み込まれています。 DEPOSIT と WITHDRAW を宣言した後、TLRINIT は自分自身で宣言を取り消します。 動的な宣言と宣言の取り消し . . .
**************************************************
* TLRFUNCS ルーチンで処理する
* DEPOSIT サービスの宣言
**************************************************
MOVE "DEPOSIT" TO SERVICE-NAME.
MOVE "TLRFUNCS" TO PROGRAM-NAME.
CALL "TPADVERTISE" USING SERVICE-NAME
PROGRAM-REC
TPSTATUS-REC.
IF NOT TPOK
error processing
**************************************************
* 同じ TLRFUNCS ルーチンで処理する
* WITHDRAW サービスの宣言
**************************************************
MOVE "WITHDRAW" TO SERVICE-NAME.
MOVE "TLRFUNCS" TO PROGRAM-NAME.
CALL "TPADVERTISE" USING SERVICE-NAME
PROGRAM-REC
TPSTATUS-REC.
IF NOT TPOK
error processing
**************************************************
* TLRINIT サービスの宣言の取り消し
**************************************************
MOVE "TLRINIT" TO SERVICE-NAME.
CALL "TPUNADVERTISE" USING SERVICE-NAME
TPSTATUS-REC.
IF NOT TPOK
error processing
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|