TSCAdm(Java)

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 orbORBのリファレンス
戻り値ありません。
例外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 optionOTMの動作をカスタマイズするために設定できるプロパティ
org.omg.CORBA.ORB orbORBのリファレンス
戻り値ありません。
例外TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInitializeException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException
TSCNoResourcesException
注※
optionを使用する場合,例えば次のように記述します。

     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 optionOTMの動作をカスタマイズするために設定できるプロパティ※2
org.omg.CORBA.ORB orbORBのリファレンス
戻り値ありません。
例外TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInitializeException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException
TSCNoResourcesException
注※1
アプレットタグにオプションを記述する場合,例えば次のようにアプレットタグに記述します。

<param name=-TSCDomain value=hitachi>

注※2
optionを使用する場合,例えば次のように記述します。

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_domainTSCドメインのリファレンス
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_domainTSCDomainのリファレンス
戻り値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_domainTSCDomainのリファレンス
戻り値TSCServerオブジェクト
例外TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException
TSCNoResourcesException

指定したTSCDomainを基に,自サーバへリクエストを振り分けるTSCデーモンのTSCServerのリファレンスを取得するメソッドです。

●public static void TSCClient releaseTSCClient(TSCClient tsc_client)

項目型・意味
引数TSCClient tsc_clientTSCClientオブジェクト
戻り値ありません。
例外TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException

TSCClientを解放します。

●public static void releaseTSCServer(TSCServer tsc_server)

項目型・意味
引数TSCServer tsc_serverTSCServerオブジェクト
戻り値ありません。
例外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できます。
注※
複数のスレッド上から同時に呼び出すことはできますが,有効となるのは一つの呼び出しだけです。