TSCAdm(COBOL)
TSCAdmはシステム提供クラスです。
TSCAdmは,アプリケーションの初期化処理,TSCClientの取得,およびTSCServerの取得をするクラスです。
形式
CALL 'TSCAdm-initServer' USING
BY REFERENCE ARGC
BY REFERENCE ARGV
BY VALUE ORB-PTR
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-initClient' USING
BY REFERENCE ARGC
BY REFERENCE ARGV
BY VALUE ORB-PTR
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-serverMainloop' USING
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-shutdown' USING
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-endServer' USING
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-endClient' USING
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-getTSCClient' USING
BY VALUE DOMAIN-PTR
BY VALUE WAY
BY REFERENCE CORBA-ENVIRONMENT
RETURNING CLIENT-PTR.
CALL 'TSCAdm-getTSCServer' USING
BY VALUE DOMAIN-PTR
BY REFERENCE CORBA-ENVIRONMENT
RETURNING SERVER-PTR.
CALL 'TSCAdm-releaseTSCClient' USING
BY VALUE CLIENT-PTR
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-releaseTSCServer' USING
BY VALUE SERVER-PTR
BY REFERENCE CORBA-ENVIRONMENT.
CALL 'TSCAdm-get_status' USING
BY REFERENCE CORBA-ENVIRONMENT.
RETURNING STATUS.
副プログラム
●CALL 'TSCAdm-initServer' USING
BY REFERENCE ARGC
BY REFERENCE ARGV
BY VALUE ORB-PTR
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY REFERENCE ARGC PIC S9(9) COMP | (入力)コマンド引数配列の要素数 |
BY REFERENCE ARGV USAGE POINTER | (入力)コマンド引数配列のポインタ | |
BY VALUE ORB-PTR USAGE POINTER | (入力)ORBのポインタ | |
BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 | |
戻り値 | ありません。 | |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInitializeException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException |
サーバアプリケーションの初期化処理を実行します。
この副プログラムは,プロセスで1回だけ発行できます。TSCAdm-endServer副プログラム,またはTSCAdm-endClient副プログラムの発行によって終了処理したあとでも,この副プログラムは発行できません。
この副プログラムのARGCにはプロセスのMAINとなる副プログラムの第1引数を,ARGVにはプロセスのMAINとなる副プログラムの第2引数をそれぞれそのまま指定してください。プロセス開始時にコマンドラインで指定された情報を削除または変更してARGCおよびARGVに指定すると,正しく動作しない場合があります。tscstartprcコマンドを使用して開始したサーバアプリケーションのコマンドラインには,tscstartprcコマンドに指定したコマンドライン引数がすべて渡されます。
●CALL 'TSCAdm-initClient' USING
BY REFERENCE ARGC
BY REFERENCE ARGV
BY VALUE ORB-PTR
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY REFERENCE ARGC PIC S9(9) COMP | (入力)コマンド引数配列の要素数 |
BY REFERENCE ARGV USAGE POINTER | (入力)コマンド引数配列のポインタ | |
BY VALUE ORB-PTR USAGE POINTER | (入力)ORBのポインタ | |
BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 | |
戻り値 | ありません。 | |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInitializeException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException |
クライアントアプリケーションの初期化処理を実行します。
この副プログラムのARGCにはプロセスのMAINとなる副プログラムの第1引数を,ARGVにはプロセスのMAINとなる副プログラムの第2引数をそれぞれそのまま指定してください。プロセス開始時にコマンドラインで指定された情報を削除または変更してARGCおよびARGVに指定すると,正しく動作しない場合があります。
この副プログラムは,TSCAdm-endClient副プログラムの発行によって終了処理をした場合は再発行できますが,TSCAdm-endServer副プログラムの発行によって終了処理をしたあとは再発行できません。TSCAdm-endClient副プログラムの発行後にこの副プログラムを再発行した場合,2回目以降の発行で指定したARGCおよびARGVの値は無効となり,初回の発行で指定した値が有効になります。ただし,この副プログラムを複数回発行するとクライアントアプリケーションの性能に影響を与えるため,推奨できません。
●CALL 'TSCAdm-serverMainloop' USING
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 |
戻り値 | ありません。 |
リクエストを受信待ち状態にします。この副プログラムはサーバアプリケーションでだけ発行できます。
●CALL 'TSCAdm-shutdown' USING
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 |
戻り値 | ありません。 |
リクエストの受信待ち状態を解除します。この副プログラムはサーバアプリケーションでだけ発行できます。
●CALL 'TSCAdm-endServer' USING
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 |
戻り値 | ありません。 |
サーバアプリケーションの終了処理を実行します。
この副プログラムはプロセスで1回だけ発行できます。この副プログラム発行後はそのプロセスでOTMの機能は使用しないでください。
●CALL 'TSCAdm-endClient' USING
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 |
戻り値 | ありません。 |
クライアントアプリケーションの終了処理を実行します。
この副プログラムの発行後は,そのプロセスでOTMまたはOTM - Clientの機能を使用できません。また,この副プログラムで例外が発生した場合は,クライアントアプリケーションを終了させる必要があります。
●CALL 'TSCAdm-getTSCClient' USING
BY VALUE DOMAIN-PTR
BY VALUE WAY
BY REFERENCE CORBA-ENVIRONMENT
RETURNING CLIENT-PTR.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY VALUE DOMAIN-PTR USAGE POINTER | (入力)TSCドメインのポインタ |
BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 | |
戻り値 | CLIENT-PTR USAGE POINTER | TSCClientオブジェクト |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException TSCTransientException |
指定したTSCDomainを基に,リクエストするTSCデーモンのTSCClientのリファレンスを取得します。
WAYには,接続経路として,次に示すどれかを指定します。
ファイル検索方式でマルチノードリトライ接続を実行する場合,この副プログラムに指定したTSCDomainおよびWAY(WAYが"2"の場合はコマンドオプション引数-TSCRequestWayの指定値)の組み合わせに一致する情報が,接続先情報ファイル中に記述されていなければなりません。一致する情報が接続先情報ファイルにない場合,TSCBadParamException例外が発生します。なお,ファイル検索方式でマルチノードリトライ接続を実行するには,アプリケーションプログラムの開始時に,次に示すようにコマンドオプション引数を指定します。
●CALL 'TSCAdm-getTSCServer' USING
BY VALUE DOMAIN-PTR
BY REFERENCE CORBA-ENVIRONMENT
RETURNING SERVER-PTR.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY VALUE DOMAIN-PTR USAGE POINTER | (入力)TSCドメインのポインタ |
BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 | |
戻り値 | SERVER-PTR USAGE POINTER | サーバオブジェクトのポインタ |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException |
指定したTSCDomainを基に,自サーバへリクエストを振り分けるTSCデーモンのTSCServerのポインタを取得します。
●CALL 'TSCAdm-releaseTSCClient' USING
BY VALUE CLIENT-PTR
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY VALUE CLIENT-PTR USAGE POINTER | (入力)TSCClientオブジェクト |
BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 | |
戻り値 | ありません。 | |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException |
TSCClientを解放します。
●CALL 'TSCAdm-releaseTSCServer' USING
BY VALUE SERVER-PTR
BY REFERENCE CORBA-ENVIRONMENT.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY VALUE SERVER-PTR USAGE POINTER | (入力)TSCServerオブジェクト |
BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 | |
戻り値 | ありません。 | |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException |
TSCServerを解放します。
●CALL 'TSCAdm-get_status'
BY REFERENCE CORBA-ENVIRONMENT
RETURNING STATUS.
項目 | 型・(入出力の区別)意味 | |
---|---|---|
引数 | BY REFERENCE CORBA-ENVIRONMENT | (出力)例外情報集団項目 |
戻り値 | STATUS PIC S9(9) COMP | プロセスステータス |
運用管理で管理するプロセスステータスを返します。プロセスステータスを示す定数を表7-4,表7-5に示します。
表7-4 TSCAdmクラスで検出するクライアントアプリケーションのプロセスステータス(COBOL)
定数 | 状態 | 内容 |
---|---|---|
0 | オンライン稼働中 | TSCAdm-initClientを発行してから,終了要求を受け付けるまでの状態 |
2 | 正常終了処理中 | 終了要求を受け付けてから,TSCAdm-endClientを発行するまでの状態 |
3 | 終了 | TSCAdm-initClientの発行以前,またはTSCAdm-endClientの発行以降の状態 |
クライアントアプリケーションの状態遷移については,マニュアル「TPBroker Object Transaction Monitor ユーザーズガイド」のクライアントアプリケーションの状態の検出に関する説明を参照してください。
表7-5 TSCAdmクラスで検出するサーバアプリケーションのプロセスステータス(COBOL)
定数 | 状態 | 内容 |
---|---|---|
0 | 正常開始処理中 | TSCAdm-initServerを発行してから,TSCAdm-serverMainloopを発行するまでの状態 |
1 | オンライン稼働中 | TSCAdm-serverMainloopを発行してから,終了要求を受け付けるまでの状態 |
2 | 正常終了処理中 | 終了要求を受け付けてから,TSCAdm-endServerを発行するまでの状態 |
3 | 終了 | TSCAdm-initServerの発行以前,またはTSCAdm-endServerの発行以降の状態 |
サーバアプリケーションの状態遷移については,マニュアル「TPBroker Object Transaction Monitor ユーザーズガイド」のサーバアプリケーションの状態の検出に関する説明を参照してください。
マルチスレッド環境での副プログラム呼び出し規則
マルチスレッド環境で,TSCAdmクラスのインスタンスの副プログラムを呼び出す規則を次に示します。
副プログラム | 複数のスレッド上からの同時呼び出し |
---|---|
initServer | できます。※ |
initClient | できます。※ |
serverMainloop | できます。※ |
shutdown | できます。※ |
endServer | できます。※ |
endClient | できます。※ |
getTSCClient | できます。 |
getTSCServer | できます。 |
releaseTSCClient | できます。 |
releaseTSCServer | できます。 |
get_status | できます。 |