TSCSessionProxy(Java)
TSCSessionProxyはシステム提供クラスです。
TSCSessionProxyは,TSCObjectの代理クラスです。TSCSessionProxyを呼び出すと,OTMのスケジューリング機構を経由してステートフルにTSCObjectが呼び出されます。TSCSessionProxyのTSCProxyObjectとの違いを次に示します。
TSCSessionProxyの特徴
形式
package JP.co.Hitachi.soft.TPBroker.TSC;
public interface TSCSessionProxy
{
public void _TSCStart();
public void _TSCStop();
public int _TSCSessionInterval();
public void _TSCSessionInterval(int _session_interval);
public String _TSCInterfaceName();
public String _TSCAcceptorName();
public int _TSCTimeout();
public void _TSCTimeout(int _timeout);
public int _TSCPriority();
public void _TSCPriority(int _priority);
public TSCContext _TSCContext();
};
インポートクラス
import JP.co.Hitachi.soft.TPBroker.TSC.TSCSessionProxy;
メソッド
●public void _TSCStart()
項目 | 型・意味 |
---|---|
戻り値 | ありません。 |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResponseException TSCObjectNotExistException TSCTransientException |
セションを開始します。
セションを開始するとTSCユーザプロキシとサーバアプリケーションのインスタンスを対応づけます。また,アクセプタ名称を指定していないコンストラクタでインスタンスを生成した場合は,_TSCStart()メソッドで対応づけたインスタンスのアクセプタ名称を_TSCStop()メソッドの発行時まで引き継ぎます。
なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。
_TSCStart()メソッドが正常終了した場合は,セション呼び出しが成功しても失敗しても,必ず_TSCStop()メソッドを発行してください。
●public void _TSCStop()
項目 | 型・意味 |
---|---|
戻り値 | ありません。 |
例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResponseException TSCTransientException |
セションを解放します。
セションを解放するとTSCユーザプロキシとサーバアプリケーションのインスタンスの対応づけも解放されます。
なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。
●public int _TSCSessionInterval()
項目 | 型・意味(単位) |
---|---|
戻り値 | セション呼び出しインターバル監視時間(秒) |
セション呼び出しインターバル監視時間を取得します。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●public void _TSCSessionInterval(int _session_interval)
項目 | 型・意味(単位) | |
---|---|---|
引数 | int _session_interval | セション呼び出しインターバル監視時間(秒) |
戻り値 | ありません。 | |
例外 | TSCBadParamException |
セション呼び出しインターバル監視時間を秒単位で設定します。メソッド呼び出しごとに変更できます。
アプリケーションプログラムの開始時に-TSCSessionIntervalオプションを指定しない場合は,監視時間のデフォルト値は"180"(秒)です。-TSCSessionIntervalオプションを指定する場合は,監視時間のデフォルト値は-TSCSessionIntervalオプションの指定値になります。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●public String _TSCInterfaceName()
項目 | 型・意味 |
---|---|
戻り値 | インタフェース名称 |
インタフェース名称を取得します。
●public String _TSCAcceptorName()
項目 | 型・意味 |
---|---|
戻り値 | TSCアクセプタ名称 |
TSCアクセプタ名称を取得します。
取得するTSCアクセプタ名称を次に示します。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●public int _TSCTimeout()
項目 | 型・意味(単位) |
---|---|
戻り値 | タイムアウト時間(秒) |
タイムアウト値(呼び出し時の監視時間)を取得します。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●public void _TSCTimeout(int _timeout)
項目 | 型・意味(単位) | |
---|---|---|
引数 | int _timeout | タイムアウト時間(秒) |
戻り値 | ありません。 | |
例外 | TSCBadParamException |
タイムアウト値(呼び出し時の監視時間)を秒単位で設定します。"0"を指定した場合は,時間監視をしません。監視時間は,メソッド呼び出しごとに変更できます。
アプリケーションプログラムの開始時に-TSCTimeOutオプションを指定しない場合は,監視時間のデフォルト値は"180"(秒)です。-TSCTimeOutオプションを指定する場合は,監視時間のデフォルト値は-TSCTimeOutオプションの指定値になります。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
タイムアウト値が有効になるメソッドを次に示します。
●public int _TSCPriority()
項目 | 型・意味 |
---|---|
戻り値 | プライオリティ値 |
プライオリティ値(メソッド呼び出し時の優先順位)を取得します。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●public void _TSCPriority(int _priority)
項目 | 型・意味 | |
---|---|---|
引数 | int _priority | プライオリティ値 |
戻り値 | ありません。 | |
例外 | TSCBadParamException |
プライオリティ値(メソッド呼び出し時の優先順位)を設定します。
_priorityに1~8の値を指定することで,キューイング取り出し時の優先順位を変更できます。_priorityに指定する値が小さいほど優先度は高くなります。プライオリティ値はリクエスト単位に変更できます。
アプリケーションプログラムの開始時に-TSCRequestPriorityオプションを指定しない場合は,プライオリティ値のデフォルト値は"4"です。-TSCRequestPriorityオプションを指定する場合は,プライオリティ値のデフォルト値は-TSCRequestPriorityオプションの指定値になります。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
プライオリティ値が有効になるのは_TSCStart()メソッドだけです。
●public TSCContext _TSCContext()
項目 | 型・意味 |
---|---|
戻り値 | TSCコンテキスト |
TSCコンテキストを取得します。
TSCSessionProxyまたは派生クラスの生成
TSCSessionProxy,またはその派生クラスは,newオペレータで生成します。
マルチスレッド環境でのメソッド呼び出し規則
マルチスレッド環境で,TSCSessionProxyクラスのインスタンスのメソッドを呼び出す規則を次に示します。
メソッド | 複数のスレッド上からの同時呼び出し |
---|---|
_TSCStart() | × |
_TSCStop() | × |
_TSCSessionInterval() | ○ |
_TSCSessionInterval(int) | × |
_TSCInterfaceName() | 〇 |
_TSCAcceptorName() | 〇 |
_TSCTimeout() | ○ |
_TSCTimeout(int) | × |
_TSCPriority() | ○ |
_TSCPriority(int) | × |
_TSCContext | × |
クライアント側からのオブジェクト呼び出し | × |
インスタンスの内部参照(アクセス)規則
TSCSessionProxyクラスのインスタンスがほかのクラスのインスタンスを内部参照(アクセス)する規則を次に示します。
メソッド | 複数のスレッド上からの内部参照 |
---|---|
_TSCStart() | ありません。 |
_TSCStop() | ありません。 |
_TSCSessionInterval() | ありません。 |
_TSCSessionInterval(int) | ありません。 |
_TSCInterfaceName() | ありません。 |
_TSCAcceptorName() | ありません。 |
_TSCTimeout() | ありません。 |
_TSCTimeout(int) | ありません。 |
_TSCPriority() | ありません。 |
_TSCPriority(int) | ありません。 |
_TSCContext | ありません。 |
クライアント側からのオブジェクト呼び出し | 生成時に指定したTSCClient型のインスタンス |
セション呼び出し機能使用中のメソッド呼び出し規則
セション呼び出し機能使用中(_TSCStart()メソッド呼び出し完了から_TSCStop()メソッド呼び出し完了まで)の,TSCSessionProxyクラスのインスタンスのメソッドを呼び出す規則を次に示します。
メソッド | セション呼び出し中での呼び出し |
---|---|
_TSCStart() | × |
_TSCStop() | ○ |
_TSCSessionInterval() | ○ |
_TSCSessionInterval(int) | ○ |
_TSCInterfaceName() | ○ |
_TSCAcceptorName() | ○ |
_TSCTimeout() | ○ |
_TSCTimeout(int) | ○ |
_TSCPriority() | ○ |
_TSCPriority(int) | ○ |
_TSCContext | ○ |
クライアント側からのオブジェクト呼び出し | ○ |