TSCObject(Java)
TSCObjectはシステム提供クラスです。
TSCObjectは,OTMでの(サーバ)オブジェクトの基本クラスおよびインタフェースです。
ユーザはTSCObjectを継承させて,クライアント側にサービスを提供するクラスを定義します。また,サービスを提供するオブジェクトとして,その派生クラスのインスタンスを生成します。次にTSCObjectの特徴を示します。
TSCObjectが提供するサービスのインタフェース名称
TSCObjectが提供するインタフェースの種類は,TSCAcceptorのインタフェース名称の列で表されます。
TSCObjectが単数のインタフェースを提供する場合,提供するインタフェースの種類は,単数のインタフェース名称で表されます。TSCObjectが複数のインタフェースを提供する場合,例えば,ユーザ定義IDLインタフェースで継承を利用した場合は,複数のインタフェース名称が列で表されます。
TSCObjectの呼び出し時のTSCContextの取得
TSCProxyObjectを使用してクライアント側からTSCObjectのメソッドを呼び出すときに,ユーザは引数以外のデータをTSCContextとして送信できます。クライアント側で引数以外のデータをTSCContextとして送信すると,サーバ側ではTSCObjectのサービス提供メソッドが呼び出されている間に_TSCContextを呼び出すことによって,クライアント側で指定したTSCContextを取得できます。
TSCObjectの呼び出し時のTSCThreadの取得
TSCObjectの呼び出し時のTSCThreadの取得は,TSCThreadFactoryを引数としてTSCRootAcceptorを生成する場合を前提にします。この場合,サーバ側でTSCObjectのサービス提供メソッドが呼び出されている間に_TSCThreadを呼び出すことによって,実行制御を持つスレッドに割り付けられているTSCThreadを取得できます。
形式
package JP.co.Hitachi.soft.TPBroker.TSC;
public class TSCObject
{
//インタフェース名称
public String[] _TSCInterfaceName();
//TSCコンテキスト
public TSCContext _TSCContext();
//TSCユーザスレッド
public TSCThread _TSCThread();
};
メソッド
●public String[] _TSCInterfaceName()
項目 | 型・意味 |
---|---|
戻り値 | インタフェース名称列 |
インタフェース名称の列を取得します。
なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。
●public TSCContext _TSCContext()
項目 | 型・意味 |
---|---|
戻り値 | 呼び出し元で指定されたTSCContext |
TSCContextを取得します。クライアント側から呼び出すときに指定したものと同じ内容のTSCContextを取得できます。
なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。
●public TSCThread _TSCThread()
項目 | 型・意味 |
---|---|
戻り値 | TSCユーザスレッド |
このオブジェクトに割り当てられているスレッドに対応するTSCユーザスレッドを返します。
戻り値のTSCThreadのメモリ領域の管理責任はTSCObjectクラスにあるので,解放しないでください。
なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。
TSCObjectの派生クラスのインスタンスの生成
TSCObjectの派生クラスは,newオペレータで生成します。
マルチスレッド環境でのメソッド呼び出し規則
マルチスレッド環境で,TSCObjectクラスのインスタンスのメソッドを呼び出す規則を次に示します。
メソッド | 複数のスレッド上からの同時呼び出し |
---|---|
_TSCInterfaceName | できません |
_TSCContext | できません |
_TSCThread | できません |
クライアント側からのオブジェクト呼び出し※ | できません。 |