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 POINTERTSCContextのポインタ
例外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
クライアント側からのオブジェクト呼び出し
(凡例)
○:できます。
×:できません。