TSCServer(COBOL)

TSCServerはシステム提供クラスです。

TSCServerは,TSCデーモン中のサーバアプリケーション管理部分を参照するクラスです。サーバアプリケーション側の機能操作の要求は,TSCServerを経由してTSCデーモンに渡されます。また,TSCユーザプロキシを使用した,クライアントアプリケーション側からのTSCユーザオブジェクト呼び出し要求を受けて,TSCルートアクセプタに振り分けます。

ユーザはサーバアプリケーションがTSCデーモンと接続するときに,TSCServerクラスのインスタンスを取得します。次にTSCServerの特徴を示します。

TSCServerと接続

サーバアプリケーションとTSCデーモン間の接続は,サーバアプリケーションプロセス内でTSCServerを最初に取得するときに確立されます。その後,同じTSCデーモンに対してTSCServerを取得する場合は,その接続を共有します。逆に,取得したすべてのTSCServerを解放すると接続が切断されます。

一つのサーバアプリケーションから複数のTSCデーモンへ接続を確立することもできます。また,サーバアプリケーション側の機能操作の要求が,この接続を経由してTSCデーモンに渡される場合,並行して処理されないで順番に処理されます。TSCデーモンからのオブジェクト呼び出し要求が,この接続を経由してサーバアプリケーションに配送される場合は,並行して処理されます。

形式

CALL 'TSCServer-getTSCDomainName'   USING
          BY VALUE       SERVER-PTR
          BY REFERENCE   CORBA-ENVIRONMENT
       RETURNING         DOMAIN-NAME.
CALL 'TSCServer-getTSCID'   USING
          BY VALUE      SERVER-PTR
          BY REFERENCE  CORBA-ENVIRONMENT
       RETURNING        TSCID.

副プログラム

●CALL 'TSCServer-getTSCDomainName' USING

           BY VALUE          SERVER-PTR
           BY REFERENCE      CORBA-ENVIRONMENT
        RETURNING            DOMAIN-NAME.

項目型・(入出力の区別)意味
引数BY VALUE SERVER-PTR USAGE POINTER(入力)TSCServerのポインタ
BY REFERENCE CORBA-ENVIRONMENT(出力)例外情報集団項目
戻り値DOMAIN-NAME USAGE POINTERTSCドメイン名称の文字列のポインタ
例外TSCBadParamException

TSCドメイン名称を返します。

TSCドメイン名称のメモリ領域の管理責任はTSCServerにあるので,ユーザは解放しないでください。

なお,この副プログラムを複数のスレッドが同時に呼び出すことができます。

●CALL 'TSCServer-getTSCID' USING

           BY VALUE          SERVER-PTR
           BY REFERENCE      CORBA-ENVIRONMENT
        RETURNING      TSCID.

項目型・(入出力の区別)意味
引数BY VALUE SERVER-PTR USAGE POINTER(入力)TSCServerのポインタ
BY REFERENCE CORBA-ENVIRONMENT(出力)例外情報集団項目
戻り値TSCID USAGE POINTERTSC識別子の文字列のポインタ
例外TSCBadParamException

TSCServerインスタンスが保持するTSC識別子を返します。

TSC識別子のメモリ領域の管理責任はTSCServerにあるので,ユーザは解放しないでください。

なお,この副プログラムを複数のスレッドが同時に呼び出すことができます。

TSCServerの取得と解放

TSCAdm-getTSCServerで取得し,TSCAdm-releaseTSCServerで解放します。TSCServerクラスのインスタンスへの内部参照(アクセス)があるときは解放できないため,TSCServerクラスのインスタンスへの内部参照(アクセス)をなくした状態で解放してください。

マルチスレッド環境での副プログラム呼び出し規則

マルチスレッド環境で,TSCServerクラスのインスタンスの副プログラムを呼び出す際の規則を次に示します。

副プログラム複数のスレッド上からの同時呼び出し
TSCServer-getTSCDomainNameできます。
TSCServer-getTSCIDできます。

インスタンスの内部参照(アクセス)規則

TSCServerクラスのインスタンスがほかのクラスのインスタンスを内部参照(アクセス)する規則を次に示します。

タイミング内部参照
TSCServer-getTSCDomainNameありません。
TSCServer-getTSCIDありません。
関連づけがあるTSCRootAcceptorがactive状態関連づけがあるTSCRootAcceptor型のインスタンス

なお,TSCServerクラスのインスタンスを解放したあと,このインスタンスを内部参照するインスタンスからのアクセスは,メモリアクセス違反となります。OTMは,この際の動作を保証しません。また,複数のスレッド上から同時に,このクラスの同じインスタンスを内部参照できます。