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

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

TSCProxyObject(COBOL)

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

TSCProxyObjectはABC_TSCprxyの基底クラスです。副プログラムはABC_TSCprxyのインスタンスに対して発行します。したがって,各副プログラムの第1引数(PROXY-PTR)には,ユーザ定義IDLインタフェース依存クラス(ABC_TSCprxy)のポインタを指定してください。

TSCProxyObjectはTSCユーザオブジェクトの代理クラスです。TSCProxyObjectを呼び出すと,OTMのスケジューリング機構を経由してTSCObjectが呼び出されます。

ユーザは,サーバアプリケーションのTSCユーザオブジェクトが提供するサービスを利用するときに,TSCProxyObjectクラスのインスタンスを生成して呼び出します。次にTSCProxyObjectの特徴を示します。

TSCサービス識別子によるサービスの識別

TSCサービス識別子の構成

TSCProxyObjectを使用して利用するサービスの種類は,TSCサービス識別子によって表されます。TSCサービス識別子は,インタフェース名称とTSCアクセプタ名称から構成されます。

サービスの種類の表現方法

TSCProxyObjectによって利用するサービスの種類は,TSCサービス識別子によって表されます。TSCサービス識別子は,インタフェース名称とTSCアクセプタ名称から構成されます。

サービスの種類の表現例

形式

 
* タイムアウト
 CALL 'TSCProxyObject-TSCTimeoutSet' USING
            BY VALUE       PROXY-PTR
            BY VALUE       TIMEOUT
            BY REFERENCE   CORBA-ENVIRONMENT.
 CALL 'TSCProxyObject-TSCTimeoutGet' USING
            BY VALUE       PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT
         RETURNING         TIMEOUT.
 
* 優先度
 CALL 'TSCProxyObject-TSCPrioritySet' USING
            BY VALUE       PROXY-PTR
            BY VALUE       PRIORITY
            BY REFERENCE   CORBA-ENVIRONMENT.
 CALL 'TSCProxyObject-TSCPriorityGet' USING
            BY VALUE       PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT
         RETURNING         PRIORITY.
 
 CALL 'TSCProxyObject-TSCContextGet' USING
            BY VALUE       PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT
         RETURNING         CONTEXT-PTR.

副プログラム

●CALL 'TSCProxyObject-TSCTimeoutSet' USING

            BY VALUE      PROXY-PTR
            BY VALUE      TIMEOUT
            BY REFERENCE  CORBA-ENVIRONMENT.
 
項目 型・(入出力の区別)意味
引数 BY VALUE PROXY-PTR USAGE POINTER (入力)ABC_TSCprxyのポインタ
BY VALUE TIMEOUT PIC S9(9) COMP (入力)タイムアウト時間(秒)
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 ありません。
例外 TSCBadParamException

タイムアウト値(呼び出し時の監視時間)を秒単位で設定します。"0"を指定する場合,時間監視をしません。監視時間は,副プログラム呼び出しごとに変更できます。監視時間のデフォルト値は"180"(秒)です。また,initServer発行時の引数argsに,-TSCTimeOutオプションを指定する場合は,監視時間のデフォルト値はその指定値となります。

この副プログラムを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

●CALL 'TSCProxyObject-TSCTimeoutGet' USING

            BY VALUE        PROXY-PTR
            BY REFERENCE    CORBA-ENVIRONMENT
         RETURNING          TIMEOUT.
 
項目 型・(入出力の区別)意味
引数 BY VALUE PROXY-PTR USAGE POINTER (入力)ABC_TSCprxyのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 TIMEOUT PIC S9(9) COMP タイムアウト時間(秒)
例外 TSCBadParamException

タイムアウト値(呼び出し時の監視時間)を取得します。

この副プログラムを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

●CALL 'TSCProxyObject-TSCPrioritySet' USING

            BY VALUE        PROXY-PTR
            BY VALUE        PRIORITY
            BY REFERENCE    CORBA-ENVIRONMENT.
 
項目 型・(入出力の区別)意味
引数 BY VALUE PROXY-PTR USAGE POINTER (入力)ABC_TSCprxyのポインタ
BY VALUE PRIORITY PIC S9(9) COMP (入力)プライオリティ値
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 ありません。
例外 TSCBadParamException

プライオリティ値(副プログラム呼び出し時の優先順位)を設定します。

PRIORITYに1〜8の値を指定することで,キューイング取り出し時の優先順位を変更できます。PRIORITYに指定する値が小さいほど優先度は高くなります。この副プログラムはリクエスト単位に変更することもできます。プライオリティ値のデフォルト値は"4"です。また,initServer発行時の引数argsに,-TSCRequestPriorityオプションを指定する場合は,プライオリティ値のデフォルト値はその指定値となります。

この副プログラムを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

●CALL 'TSCProxyObject-TSCPriorityGet' USING

            BY VALUE          PROXY-PTR
            BY REFERENCE      CORBA-ENVIRONMENT
         RETURNING            PRIORITY.
 
項目 型・(入出力の区別)意味
引数 BY VALUE PROXY-PTR USAGE POINTER (入力)ABC_TSCprxyのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 PRIORITY PIC S9(9) COMP プライオリティ値
例外 TSCBadParamException

プライオリティ値(副プログラム呼び出し時の優先順位)を取得します。

この副プログラムを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

●CALL 'TSCProxyObject-TSCContextGet' USING

           BY VALUE          PROXY-PTR
           BY REFERENCE      CORBA-ENVIRONMENT
        RETURNING            CONTEXT-PTR.
 
項目 型・(入出力の区別)意味
引数 BY VALUE PROXY-PTR USAGE POINTER (入力)ABC_TSCprxyのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 CONTEXT-PTR USAGE POINTER TSCContextのポインタ
例外 TSCBadParamException

呼び出し時のTSCContextを取得します。ユーザはこのTSCContextにコンテキストデータを設定できます。

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

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

副プログラム 複数のスレッド上からの同時呼び出し
TSCProxyObject-TSCTimeoutGet できます。
TSCProxyObject-TSCTimeoutSet できません。
TSCProxyObject-TSCPriorityGet できます。
TSCProxyObject-TSCPrioritySet できません。
TSCProxyObject-TSCContextGet できません。
クライアント側からのオブジェクト呼び出し できません。

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

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

副プログラム 複数のスレッド上からの内部参照
TSCProxyObject-TSCTimeoutGet ありません。
TSCProxyObject-TSCTimeoutSet ありません。
TSCProxyObject-TSCPriorityGet ありません。
TSCProxyObject-TSCPrioritySet ありません。
TSCProxyObject-TSCContextGet ありません。
クライアント側からのオブジェクト呼び出し 生成時に指定したTSCClient型のインスタンス