トランザクショナル分散オブジェクト基盤 TPBroker Object Transaction Monitor プログラマーズガイド

[目次][索引][前へ][次へ]

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 POINTER TSCドメイン名称の文字列のポインタ
例外 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 POINTER TSC識別子の文字列のポインタ
例外 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は,この際の動作を保証しません。また,複数のスレッド上から同時に,このクラスの同じインスタンスを内部参照できます。