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

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

TSCSessionProxy(COBOL)

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

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

TSCSessionProxyは,TSCObjectの代理クラスです。TSCSessionProxyを呼び出すと,OTMのスケジューリング機構を経由してステートフルにTSCObjectが呼び出されます。TSCSessionProxyのTSCProxyObjectとの違いを次に示します。

TSCSessionProxyの特徴

形式

 
* セション呼び出し開始メソッド
CALL 'TSCSProxy-TSCStart' USING
            BY VALUE       SESSION-PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT.
 
* セション解放メソッド
CALL 'TSCSProxy-TSCStop' USING
            BY VALUE       SESSION-PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT.
 
* セション呼び出しインターバル監視時間
CALL 'TSCSProxy-TSCSessionIntvalSet' USING
            BY VALUE       SESSION-PROXY-PTR
            BY VALUE       SESSION-INTERVAL
            BY REFERENCE   CORBA-ENVIRONMENT.
CALL 'TSCSProxy-TSCSessionIntvalGet' USING
            BY VALUE       SESSION-PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT.
         RETURNING         SESSION-INTERVAL.
 
* タイムアウト
CALL 'TSCSProxy-TSCTimeoutSet' USING
            BY VALUE       SESSION-PROXY-PTR
            BY VALUE       TIMEOUT
            BY REFERENCE   CORBA-ENVIRONMENT.
CALL 'TSCSProxy-TSCTimeoutGet' USING
            BY VALUE       SESSION-PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT
         RETURNING         TIMEOUT.
 
* 優先度
CALL 'TSCSProxy-TSCPrioritySet' USING
            BY VALUE       SESSION-PROXY-PTR
            BY VALUE       PRIORITY
            BY REFERENCE   CORBA-ENVIRONMENT.
CALL 'TSCSProxy-TSCPriorityGet' USING
            BY VALUE       SESSION-PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT
         RETURNING         PRIORITY.
 
CALL 'TSCSProxy-TSCContextGet' USING
            BY VALUE       SESSION-PROXY-PTR
            BY REFERENCE   CORBA-ENVIRONMENT
         RETURNING         CONTEXT-PTR.

副プログラム

●CALL 'TSCSProxy-TSCStart' USING

       BY VALUE         SESSION-PROXY-PTR
       BY REFERENCE   CORBA-ENVIRONMENT.
 
項目 型・(入出力の区別)意味
引数 BY VALUE SESSION-PROXY-PTR USAGE POINTER (入力)ABC_TSCspxyのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 ありません。
例外 TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInitializeException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException
TSCNoResponseException
TSCObjectNotExistException
TSCTransientException

セションを開始します。

セションを開始するとTSCユーザプロキシとサーバアプリケーションのインスタンスを対応づけます。また,アクセプタ名称を指定していないコンストラクタでインスタンスを生成した場合は,この副プログラムで対応づけたインスタンスのアクセプタ名称を_TSCStop()メソッド発行時まで引き継ぎます。

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

この副プログラムが正常終了した場合は,セション呼び出しが成功しても失敗しても,必ず_TSCStop()メソッドを発行してください。

●CALL 'TSCSProxy-TSCStop' USING

       BY VALUE         SESSION-PROXY-PTR
       BY REFERENCE   CORBA-ENVIRONMENT.
 
項目 型・(入出力の区別)意味
引数 BY VALUE SESSION-PROXY-PTR USAGE POINTER (入力)ABC_TSCspxyのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 ありません。
例外 TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInitializeException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException
TSCNoResponseException
TSCTransientException

セションを解放します。

セションを解放するとTSCユーザプロキシとサーバアプリケーションのインスタンスの対応づけも解放されます。

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

●CALL 'TSCSProxy-TSCSessionIntvalSet' USING

       BY VALUE         SESSION-PROXY-PTR
       BY VALUE         SESSION-INTERVAL
       BY REFERENCE   CORBA-ENVIRONMENT.
 
項目 型・(入出力の区別)意味
引数 BY VALUE SESSION-PROXY-PTR USAGE POINTER (入力)ABC_TSCspxyのポインタ
BY VALUE SESSION-INTERVAL PIC S9(9) COMP (入力)セション呼び出しインターバル監視時間(単位:秒)
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 ありません。
例外 TSCBadParamException

セション呼び出しインターバル監視時間を秒単位で設定します。メソッド呼び出しごとに変更できます。

アプリケーションプログラムの開始時に-TSCSessionIntervalオプションを指定しない場合は,監視時間のデフォルト値は"180"(秒)です。-TSCSessionIntervalオプションを指定する場合は,監視時間のデフォルト値は-TSCSessionIntervalオプションの指定値になります。

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

●CALL 'TSCSProxy-TSCSessionIntvalGet' USING

       BY VALUE         SESSION-PROXY-PTR
       BY REFERENCE   CORBA-ENVIRONMENT
    RETURNING          SESSION-INTERVAL.
 
項目 型・(入出力の区別)意味
引数 BY VALUE SESSION-PROXY-PTR USAGE POINTER (入力)ABC_TSCspxyのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 SESSION-INTERVAL PIC S9(9) COMP セション呼び出しインターバル監視時間(単位:秒)
例外 TSCBadParamException

セション呼び出しインターバル監視時間を取得します。

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

●CALL 'TSCSProxy-TSCTimeoutSet' USING

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

タイムアウト値(呼び出し時の監視時間)を秒単位で設定します。"0"を指定した場合は,時間監視をしません。監視時間は,副プログラム呼び出しごとに変更できます。

initServer発行時の引数argsに-TSCTimeOutオプションを指定しない場合は,監視時間のデフォルト値は"180"(秒)です。-TSCTimeOutオプションを指定する場合は,監視時間のデフォルト値は-TSCTimeOutオプションの指定値になります。

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

タイムアウト値が有効になる副プログラムを次に示します。

●CALL 'TSCSProxy-TSCTimeoutGet' USING

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

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

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

●CALL 'TSCSProxy-TSCPrioritySet' USING

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

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

PRIORITYに1〜8の値を指定することで,キューイング取り出し時の優先順位を変更できます。PRIORITYに指定する値が小さいほど優先度は高くなります。プライオリティ値はリクエスト単位に変更できます。

initServer発行時の引数argsに,-TSCRequestPriorityオプションを指定しない場合は,プライオリティ値のデフォルト値は"4"です。initServer発行時の引数argsに,-TSCRequestPriorityオプションを指定する場合は,プライオリティ値のデフォルト値は-TSCRequestPriorityオプションの指定値になります。

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

プライオリティ値が有効になるのはTSCSProxy-TSCStart()副プログラムだけです。

●CALL 'TSCSProxy-TSCPriorityGet' USING

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

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

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

●CALL 'TSCSProxy-TSCContextGet' USING

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

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

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

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

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

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

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

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

セション呼び出し機能使用中の副プログラム呼び出し規則

セション呼び出し機能使用中(TSCSProxy-TSCStart副プログラム呼び出し完了からTSCSProxy-TSCStop副プログラム呼び出し完了)の,TSCSessionProxyクラスのインスタンスの副プログラムを呼び出す規則を次に示します。

副プログラム セション呼び出し中での呼び出し
TSCSProxy-TSCStart ×
TSCSProxy-TSCStop
TSCSProxy-TSCSessionIntervalSet
TSCSProxy-TSCSessionIntervalGet
TSCSProxy-TSCTimeoutSet
TSCSProxy-TSCTimeoutGet
TSCSProxy-TSCPrioritySet
TSCSProxy-TSCPriorityGet
TSCSProxy-TSCContextGet
クライアント側からのオブジェクト呼び出し

(凡例)
○:できます。
×:できません。