トランザクショナル分散オブジェクト基盤 TPBroker Object Transaction Monitor プログラマーズガイド
TSCAdmはシステム提供クラスです。
TSCAdmは,アプリケーションプログラムの初期化処理,TSCClientの取得,およびTSCServerの取得をするクラスです。
形式
public class TSCAdm
{
public static final int Direct=0;
public static final int Regulator=1;
public static void initServer(String[] args,
org.omg.CORBA.ORB orb);
public static void initClient(String[] args,
java.util.Properties option,
org.omg.CORBA.ORB orb);
public static void initClient(Applet app,
java.util.Properties option,
org.omg.CORBA.ORB orb);
public static void serverMainloop();
public static void shutdown();
public static void endServer();
public static void endClient();
public static TSCClient getTSCClient(TSCDomain tsc_domain,
int way);
public static TSCClient getTSCClient(TSCDomain tsc_domain);
public static TSCServer getTSCServer(TSCDomain tsc_domain);
public static void releaseTSCClient(TSCClient tsc_client);
public static void releaseTSCServer(TSCServer tsc_server);
public static int get_status();
};
インポートクラス
import JP.co.Hitachi.soft.TPBroker.TSC.TSCAdm;
メソッド
●public static void initServer(String[] args,
org.omg.CORBA.ORB orb)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | String[] args | コマンド引数 |
| org.omg.CORBA.ORB orb | ORBのリファレンス | |
| 戻り値 | ありません。 | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInitializeException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException |
|
サーバアプリケーションの初期化処理を実行します。このメソッドは,プロセスで1回だけ発行できます。TSCAdm.endServer()メソッド,またはTSCAdm.endClient()メソッドの発行によって終了処理したあとでも,このメソッドは発行できません。
このメソッドのargs引数にはプロセスのmain()メソッドの第1引数をそのまま指定してください。プロセス開始時にコマンドラインで指定された情報を削除または変更してargs引数に指定すると,正しく動作しないことがあります。tscstartprcコマンドを使用して開始したサーバアプリケーションのコマンドラインには,tscstartprcコマンドに指定したコマンドライン引数がすべて渡されます。
●public static void initClient(String[] args,
java.util.Properties option,
org.omg.CORBA.ORB orb)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | String[] args | コマンド引数 |
| java.util.Properties option | OTMの動作をカスタマイズするために設定できるプロパティ※ | |
| org.omg.CORBA.ORB orb | ORBのリファレンス | |
| 戻り値 | ありません。 | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInitializeException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException |
|
java.util.Properties opt = new java.util.Properties();
opt.put("-TSCDomain","hitachi");クライアントアプリケーションの初期化処理を実行します。
args引数およびoption引数に同じオプションがある場合,args引数のオプションが有効になります。
このメソッドのargs引数にはプロセスのmain()メソッドの第1引数をそのまま指定してください。プロセス開始時にコマンドラインで指定された情報を削除または変更してargs引数に指定すると,正しく動作しないことがあります。
このメソッドは,TSCAdm.endClient()メソッドの発行によって終了処理をした場合は再発行できますが,TSCAdm.endServer()メソッドの発行によって終了処理をしたあとは再発行できません。TSCAdm.endClient()メソッドの発行後にこのメソッドを再発行した場合,2回目以降の発行で指定したargc引数およびoption引数の値は無効となり,初回の発行で指定した値が有効になります。ただし,このメソッドを複数回発行するとクライアントアプリケーションの性能に影響を与えるため,推奨できません。
●public static void initClient(Applet app,
java.util.Properties option,
org.omg.CORBA.ORB orb)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | Applet app | このメソッドが実行されるアプレット※1 |
| java.util.Properties option | OTMの動作をカスタマイズするために設定できるプロパティ※2 | |
| org.omg.CORBA.ORB orb | ORBのリファレンス | |
| 戻り値 | ありません。 | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInitializeException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException |
|
<param name=-TSCDomain value=hitachi>
java.util.Properties opt = new java.util.Properties();
opt.put("-TSCDomain","hitachi");Javaアプレットの場合に,Appletクラスを使用したクライアントアプリケーションの初期化処理を実行します。
このメソッドはOTM - Clientだけで使用できます。OTMで使用した場合は,例外が返ります。
また,このメソッドは,TSCAdm.endClient()メソッドの発行によって終了処理をした場合は再発行できますが,TSCAdm.endServer()メソッドの発行によって終了処理をしたあとは再発行できません。TSCAdm.endClient()メソッドの発行後にこのメソッドを再発行した場合,2回目以降の発行で指定したoption引数の値は無効となり,初回の発行で指定した値が有効になります。ただし,このメソッドの複数回発行するとクライアントアプリケーションの性能に影響を与えるため,推奨できません。
●public static void serverMainloop()
| 項目 | 型・意味 |
|---|---|
| 戻り値 | ありません。 |
| 例外 | TSCBadInvOrderException |
リクエストを受信待ち状態にします。このメソッドはサーバアプリケーションでだけ発行できます。
●public static void shutdown()
| 項目 | 型・意味 |
|---|---|
| 戻り値 | ありません。 |
| 例外 | TSCBadInvOrderException |
リクエストの受信待ち状態を解除します。このメソッドはサーバアプリケーションでだけ発行できます。
●public static void endServer()
| 項目 | 型・意味 |
|---|---|
| 戻り値 | ありません。 |
| 例外 | TSCBadInvOrderException TSCNoMemoryException |
サーバアプリケーションの終了処理を実行します。
このメソッドはプロセスで1回だけ発行できます。このメソッド発行後はそのプロセスでOTMの機能は使用しないでください
●public static void endClient()
| 項目 | 型・意味 |
|---|---|
| 戻り値 | ありません。 |
| 例外 | TSCBadInvOrderException TSCNoMemoryException |
クライアントアプリケーションの終了処理を実行します。
このメソッドの発行後は,そのプロセスでOTMまたはOTM - Clientの機能を使用できません。また,このメソッドで例外が発生した場合は,クライアントアプリケーションを終了させる必要があります。
●public static TSCClient getTSCClient(TSCDomain tsc_domain,
int way)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | TSCDomain tsc_domain | TSCドメインのリファレンス |
| int way | 接続経路 | |
| 戻り値 | TSCClientオブジェクト | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException TSCTransientException |
|
指定したTSCDomainを基に,リクエストするTSCデーモンのTSCClientのリファレンスを取得するメソッドです。
wayには,接続経路として,次に示すどちらかを指定します。
ファイル検索方式でマルチノードリトライ接続を実行する場合,このメソッドに指定したTSCDomainおよびwayの組み合わせに一致する情報が,接続先情報ファイル中に記述されていなければなりません。一致する情報が接続先情報ファイルにない場合,TSCBadParamException例外が発生します。なお,ファイル検索方式でマルチノードリトライ接続を実行するには,アプリケーションプログラムの開始時に,次に示すようにコマンドオプション引数を指定します。
●public static TSCClient getTSCClient(TSCDomain tsc_domain)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | TSCDomain tsc_domain | TSCDomainのリファレンス |
| 戻り値 | TSCClientオブジェクトリファレンス | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInitializeException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException TSCTransientException |
|
指定したTSCDomainを基に,リクエストするTSCデーモンのTSCClientのリファレンスを取得するメソッドです。接続経路には,アプリケーションプログラムの開始時に,コマンドオプション引数-TSCRequestWayに指定した値を使用します。
ファイル検索方式でマルチノードリトライ接続を実行する場合,このメソッドに指定したTSCDomain,およびコマンドオプション引数-TSCRequestWayの組み合わせに一致する情報が,接続先情報ファイル中に記述されていなければなりません。一致する情報が接続先情報ファイルにない場合,TSCBadParamException例外が発生します。なお,ファイル検索方式でマルチノードリトライ接続を実行するには,アプリケーションプログラムの開始時に,次に示すようにコマンドオプション引数を指定します。
●public static TSCServer getTSCServer(TSCDomain tsc_domain)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | TSCDomain tsc_domain | TSCDomainのリファレンス |
| 戻り値 | TSCServerオブジェクト | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException TSCNoResourcesException |
|
指定したTSCDomainを基に,自サーバへリクエストを振り分けるTSCデーモンのTSCServerのリファレンスを取得するメソッドです。
●public static void TSCClient releaseTSCClient(TSCClient tsc_client)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | TSCClient tsc_client | TSCClientオブジェクト |
| 戻り値 | ありません。 | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException |
|
TSCClientを解放します。
●public static void releaseTSCServer(TSCServer tsc_server)
| 項目 | 型・意味 | |
|---|---|---|
| 引数 | TSCServer tsc_server | TSCServerオブジェクト |
| 戻り値 | ありません。 | |
| 例外 | TSCBadInvOrderException TSCBadParamException TSCCommFailureException TSCInternalException TSCNoMemoryException TSCNoPermissionException |
|
TSCServerを解放します。
●public static int get_status()
| 項目 | 型・意味 |
|---|---|
| 戻り値 | プロセスステータス |
運用管理で管理するプロセスステータスを返します。プロセスステータスを示す定数を表5-3,表5-4に示します。
表5-3 TSCAdmクラスで検出するクライアントアプリケーションのプロセスステータス(Java)
| 定数名 | 状態 | 内容 |
|---|---|---|
| TSCAdm.Living | オンライン稼働中 | TSCAdm.initClientを発行してから,終了要求を受け付けるまでの状態 |
| TSCAdm.Dying | 正常終了処理中 | 終了要求を受け付けてから,TSCAdm.endClientを発行するまでの状態 |
| TSCAdm.Dead | 終了 | TSCAdm.initClientの発行以前,またはTSCAdm.endClientの発行以降の状態 |
クライアントアプリケーションの状態遷移については,マニュアル「TPBroker Object Transaction Monitor ユーザーズガイド」のクライアントアプリケーションの状態の検出に関する説明を参照してください。
表5-4 TSCAdmクラスで検出するサーバアプリケーションのプロセスステータス(Java)
| 定数名 | 状態 | 内容 |
|---|---|---|
| TSCAdm.Living | 正常開始処理中 | TSCAdm.initServerを発行してから,TSCAdm.serverMainloopを発行するまでの状態 |
| TSCAdm.Active | オンライン稼働中 | TSCAdm.serverMainloopを発行してから,終了要求を受け付けるまでの状態 |
| TSCAdm.Dying | 正常終了処理中 | 終了要求を受け付けてから,TSCAdm.endServerを発行するまでの状態 |
| TSCAdm.Dead | 終了 | TSCAdm.initServerの発行以前,またはTSCAdm.endServerの発行以降の状態 |
サーバアプリケーションの状態遷移については,マニュアル「TPBroker Object Transaction Monitor ユーザーズガイド」のサーバアプリケーションの状態の検出に関する説明を参照してください。
マルチスレッド環境でのメソッド呼び出し規則
マルチスレッド環境で,TSCAdmクラスのメソッドを呼び出す規則を次に示します。
| メソッド | 複数のスレッド上からの同時呼び出し |
|---|---|
| initServer | できます。※ |
| initClient | できます。※ |
| serverMainloop | できます。※ |
| shutdown | できます。※ |
| endServer | できます。※ |
| endClient | できます。※ |
| getTSCClient | できます。 |
| getTSCServer | できます。 |
| releaseTSCClient | できます。 |
| releaseTSCServer | できます。 |
| get_status | できます。 |
All Rights Reserved. Copyright (C) 2002, 2005, Hitachi, Ltd.