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

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

TSCProxyObject(C++)

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

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

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

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

TSCサービス識別子の構成

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

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

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

サービスの種類の表現例

形式

 
class TSCProxyObject
{
 public:
  const char* _TSCInterfaceName();
  const char* _TSCAcceptorName();
 
  TSCInt _TSCTimeout();
  void _TSCTimeout(TSCInt timeout);
 
  TSCInt _TSCPriority();
  void _TSCPriority(TSCInt priority);
 
  TSCContext_ptr _TSCContext();
};

インクルードファイル

 
#include <tscproxy.h>

メソッド

●const char* _TSCInterfaceName()

項目 型・意味
戻り値 インタフェース名称

インタフェース名称を取得します。

インタフェース名称のメモリ領域の管理責任はTSCProxyObjectクラスにあるので,ユーザは削除しないでください。

●const char* _TSCAcceptorName()

項目 型・意味
戻り値 TSCアクセプタ名称

TSCアクセプタ名称を取得します。

TSCアクセプタ名称のメモリ領域の管理責任はTSCProxyObjectクラスにあるので,ユーザは削除しないでください。

●TSCInt _TSCTimeout()

項目 型・意味(単位)
戻り値 タイムアウト時間(秒)

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

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

●void _TSCTimeout(TSCInt timeout)

項目 型・意味(単位)
引数 TSCInt timeout タイムアウト時間(秒)
戻り値 ありません。
例外 TSCBadParamException

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

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

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

●TSCInt TSCPriority()

項目 型・意味
戻り値 プライオリティ値

プライオリティ値(メソッド呼び出し時の優先順位)を取得します。

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

●void _TSCPriority(TSCInt priority)

項目 型・意味
引数 TSCInt priority プライオリティ値
戻り値 ありません。
例外 TSCBadParamException

プライオリティ値(メソッド呼び出し時の優先順位)を設定します。

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

アプリケーションプログラムの開始時に-TSCRequestPriorityオプションを指定しない場合は,プライオリティ値のデフォルト値は"4"です。-TSCRequestPriorityオプションを指定する場合は,プライオリティ値のデフォルト値は-TSCRequestPriorityオプションの指定値になります。

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

●TSCContext_ptr _TSCContext()

項目 型・意味
戻り値 TSCコンテキスト

TSCContextを取得します。

戻り値のTSCContextのメモリ領域の管理責任はTSCProxyObjectクラスにあるので,削除しないでください。

なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。

マルチスレッド環境でのメソッド呼び出し規則

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

メソッド 複数のスレッド上からの同時呼び出し
_TSCInterfaceName
_TSCAcceptorName
_TSCTimeout()
_TSCTimeout(TSCInt) ×
_TSCPriority()
_TSCPriority(TSCInt) ×
_TSCContext ×
クライアント側からのオブジェクト呼び出し ×

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

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

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

メソッド 複数のスレッド上からの内部参照
_TSCInterfaceName ありません。
_TSCAcceptorName ありません。
_TSCTimeout() ありません。
_TSCTimeout(TSCInt) ありません。
_TSCPriority() ありません。
_TSCPriority(TSCInt) ありません。
_TSCContext ありません。
クライアント側からのオブジェクト呼び出し 生成時に指定したTSCClient型のインスタンス