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 POINTERTSCClientオブジェクト
例外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できます。
注※
複数のスレッド上から同時に呼び出すことはできますが,有効となるのは一つの呼び出しだけです。