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は,この際の動作を保証しません。また,複数のスレッド上から同時に,このクラスの同じインスタンスを内部参照できます。