TSCObjectFactory(Java)
TSCObjectFactoryはシステム提供インタフェースです。
TSCObjectFactoryは,OTMがTSCユーザオブジェクトをの管理を開始するとき,または管理対象から外すときに呼び出されるオブジェクトのインタフェースです。
ユーザはTSCObjectFactoryを継承させて,TSCユーザオブジェクトを生成,または削除するクラスを定義します。また,TSCユーザオブジェクトのファクトリとして,派生クラスのインスタンスを生成します。次にTSCObjectFactoryの特徴を示します。
OTMからの呼び出しによるTSCObjectの管理
OTMは,TSCObjectFactoryのcreateを呼び出すことで,返されるTSCObjectの管理を開始します。逆に,該当するTSCObjectを引数にTSCObjectFactoryのdestroyを呼び出すことで,TSCObjectを管理対象から外します。
形式
package JP.co.Hitachi.soft.TPBroker.TSC;
public interface TSCObjectFactory
{
public TSCObject create();
public void destroy(TSCObject tsc_object);
};
インポートクラス
import JP.co.Hitachi.soft.TPBroker.TSC.TSCObjectFactory;
コールバックメソッド
●public TSCObject create()
項目 | 型・意味 |
---|---|
戻り値 | 管理対象のTSCユーザオブジェクト |
例外 | 各種TSCSystemException |
TSCObjectを返します。TSCユーザオブジェクトを生成するコードを記述できます。OTMがこのメソッドを呼び出した結果,返されたTSCObjectが管理対象となります。
管理対象とするTSCObjectの管理責任はOTMにあるので,ユーザはなるべくアクセスしないでください。なお,OTMは,複数のスレッド上から同時にこのメソッドを呼び出すので,ユーザはマルチスレッド環境に対応するリエントラントなコードを記述する必要があります。
また,create呼び出しに失敗した場合は,各種TSCSystemExceptionによって通知する形でコードを記述してください。
●public void destroy(TSCObject tsc_object)
項目 | 型・意味 | |
---|---|---|
引数 | TSCObject tsc_object | 管理対象から外すTSCユーザオブジェクト |
例外 | ありません。 |
TSCObjectを消去する前の処理のコードを記述できます。OTMがTSCユーザオブジェクトを管理対象から外すとき,該当するTSCObjectを引数に指定して,このメソッドを呼び出します。
管理対象から外されたTSCObjectの管理責任はユーザにあります。なお,OTMは,複数のスレッド上から同時にこのメソッドを呼び出すので,ユーザはマルチスレッド環境に対応するリエントラントなコードを記述する必要があります。
なお,コネクション切断などの障害時には,ユーザオブジェクトを生成したスレッドとは別のスレッドでdestroy()を発行することがあります。
また,このメソッドから通知した例外は無視されます。
TSCObjectFactoryまたは派生クラスの生成
TSCObjectFactory,またはその派生クラスは,newオペレータで生成します。
マルチスレッド環境でのメソッド呼び出し規則
マルチスレッド環境で,TSCObjectFactoryクラスのインスタンスのメソッドを呼び出す規則を次に示します。なお,これらのメソッドは,OTMが呼び出します。
メソッド | 複数のスレッド上からの同時呼び出し |
---|---|
create | できます。 |
destroy | できます。 |