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 | ○ |
クライアント側からのオブジェクト呼び出し | ○ |