名前
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_timer
形式
public void set_client_timer ( org.omg.CORBA.Object obj, int time ) throws org.omg.CORBA.INV_OBJREF, org.omg.CORBA.BAD_PARAM, org.omg.CORBA.NO_MEMORY;
機能説明
クライアントアプリケーションにおいて、objに指定したサーバオブジェクトに対するサーバメソッドが復帰するまでの待機時間をtimeに設定します。ここで設定する待機時間は、objに指定したホスト上で動作するサーバオブジェクトすべてに対して有効となります。
パラメタ
待機時間を設定するサーバオブジェクトのオブジェクトリファレンス。
待機時間には、0から100000000までを指定することができます。
サーバメソッドが復帰するまでの待機時間(秒単位)。
0を指定する場合は、サーバメソッドが復帰するまでの待機時間を監視しません。
復帰値
正常終了した場合は、ありません。
異常終了した場合は、以下のSystemExceptionが発生します。
objに不当なオブジェクトを指定しました。
timeに不当な値を指定しました。
メモリ不足が発生しました。
システム例外発生時に設定されたマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
使用方法
ORB.init()メソッドにより取得したORBクラスのインスタンスをcom.fujitsu.ObjectDirector.CORBA.ORB型にキャストしてから本メソッドを呼び出します。
ただし、import宣言でcom.fujitsu.ObjectDirector.CORBAパッケージは指定しないでください。
以下にコーディング例を記述します。
org.omg.CORBA.ORB orb=org.omg.CORBA.ORB.init(app, props); : ((com.fujitsu.ObjectDirector.CORBA.ORB)orb).set_client_timer(obj, time); |
注意事項
本メソッドは、クライアントプロセスの待機時間をconfigファイルで設定される待機時間(period_receive_timeout×5秒)から変更する必要がある場合に使用します。
本メソッドは、サーバオブジェクトのオブジェクトリファレンスの獲得後にサーバへのリクエスト送信に先立って発行することにより、プロセス単位で待機時間を設定します。
業務アプリ動作中に待機時間を変更する場合、com.fujitsu.ObjectDirector.CORBA.ORB.net_disconnect()でコネクション情報を解放後、本メソッドを発行することにより新たに待機時間の設定ができます。
サーバオブジェクトのオブジェクトリファレンスの獲得前、または獲得時に、同じサーバマシンに対してリクエストが発行されていた場合は、本メソッドを発行する前にcom.fujitsu.ObjectDirector.CORBA.ORB.net_disconnect()によってコネクション情報を解放する必要があります。例えば、サーバオブジェクトのオブジェクトリファレンスの獲得時にorg.omg.CosNaming.NamingContext.resolve()を使用した場合、かつネーミングサービスが動作しているマシンとサーバアプリケーションが動作しているマシンが同一である場合が該当します。
引数を持たないORB.init()により作成したORBインスタンスに対して本メソッドは使用できません。
名前
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_request_timer()
形式
public void set_client_request_timer(int time) throws org.omg.CORBA.BAD_PARAM, org.omg.CORBA.NO_MEMORY;
機能説明
クライアントアプリケーションにおいて、サーバメソッドが復帰するまでの待機時間をtimeに設定します。ここで設定する待機時間は、本メソッドを発行したスレッドが今後発行するすべてのリクエストに対して有効となります。本メソッドを発行した場合、スレッドを終了する前にcom.fujitsu.ObjectDirector.CORBA.ORB.clear_client_request_timer()を発行する必要があります。
パラメタ
サーバメソッドが復帰するまでの待機時間(秒単位)。
待機時間には、0から100000000までを指定することができます。0を指定する場合は、サーバメソッドが復帰するまでの待機時間を監視しません。
復帰値
正常終了した場合は、ありません。
異常終了した場合は、以下のSystemExceptionが発生します。
timeに不当な値を指定しました。
メモリ不足が発生しました。
システム例外発生時に設定されたマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
使用方法
ORB.init()メソッドにより取得したORBクラスのインスタンスをcom.fujitsu.ObjectDirector.CORBA.ORB型にキャストしてから本メソッドを呼び出します。
ただし、import宣言でcom.fujitsu.ObjectDirector.CORBAパッケージは指定しないでください。
以下にコーディング例を記述します。
org.omg.CORBA.ORB orb=org.omg.CORBA.ORB.init(app, props); : ((com.fujitsu.ObjectDirector.CORBA.ORB)orb).set_client_request_timer(time); |
注意事項
本メソッドは、クライアントプロセスの待機時間を変更する必要がある場合に使用します。
本メソッドは、サーバへのリクエスト送信に先立って発行することにより、スレッド単位で待機時間を設定します。
本メソッドを発行した場合、スレッドを終了する前に、com.fujitsu.ObjectDirector.CORBA.ORB.clear_client_request_timer()を発行しないと、メモリリークが発生します。なお、プロセスが終了すると、本メソッドを発行することによって獲得したメモリは解放されます。
本メソッドを発行した後、com.fujitsu.ObjectDirector.CORBA.ORB.clear_client_request_timer()を発行するまで、スレッド名を変更しないでください。スレッド名を途中で変更した場合、メモリリークが発生します。
本メソッドを発行した後、タイムアウト時間を別の値に設定する場合は、再度本メソッドを発行します。その際、com.fujitsu.ObjectDirector.CORBA.ORB.clear_client_request_timer()を事前に発行する必要はありません。
待機時間の優先度は、以下のとおりです(高い順から記載します)。
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_request_timer()による設定
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_timer()による設定
configファイルで設定される待機時間(period_receive_timeout×5秒)
名前
com.fujitsu.ObjectDirector.CORBA.ORB.get_client_request_timer()
形式
public int get_client_request_timer(org.omg.CORBA.Object obj);
機能説明
サーバメソッド待機時間(秒単位)を獲得します。
待機時間の設定に対する優先度は、以下のとおりです(高い順から記載します)。なお、objにnullを指定した場合は、以下の1または3で設定された値を獲得します。
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_request_timer()による設定
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_timer()による設定
configファイルで設定される待機時間(period_receive_timeout×5秒)
本関数は、クライアントアプリケーションにおいてサーバメソッドの待機時間を確認したい場合に使用します。
パラメタ
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_timer()で設定された待機時間を獲得する場合に、サーバオブジェクトのオブジェクトリファレンスを指定します。
復帰値
正常終了した場合は、サーバメソッドの待機時間が復帰します。
異常終了した場合は、以下の例外が発生します。
org.omg.CORBA.SystemException
システム例外発生時に設定されたマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
使用方法
ORB.init()メソッドにより取得したORBクラスのインスタンスをcom.fujitsu.ObjectDirector.CORBA.ORB型にキャストしてから本メソッドを呼び出します。
ただし、import宣言でcom.fujitsu.ObjectDirector.CORBAパッケージは指定しないでください。
以下にコーディング例を記述します。
org.omg.CORBA.ORB orb=org.omg.CORBA.ORB.init(app, props); : ((com.fujitsu.ObjectDirector.CORBA.ORB)orb).get_client_request_timer(obj); |
名前
com.fujitsu.ObjectDirector.CORBA.ORB.clear_client_request_timer()
形式
public void clear_client_request_timer();
機能説明
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_request_timer()で設定したサーバメソッド待機時間をクリアします。本関数を発行したスレッドが今後発行するリクエストのサーバメソッド待機時間は、システムのデフォルト値に戻ります。
com.fujitsu.ObjectDirector.CORBA.ORB.set_client_request_timer()でサーバメソッド待機時間を設定した場合は、スレッドを終了する前に、本メソッドを発行する必要があります。
なお、com.fujitsu.ObjectDirector.CORBA.ORB.set_client_request_timer()でサーバメソッドの待機時間を設定しないスレッドが本メソッドを発行した場合は、何も行いません。
復帰値
正常終了した場合は、ありません。
異常終了した場合は、以下の例外が発生します。
org.omg.CORBA.SystemException
システム例外発生時に設定されたマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
使用方法
ORB.init()メソッドにより取得したORBクラスのインスタンスをcom.fujitsu.ObjectDirector.CORBA.ORB型にキャストしてから本メソッドを呼び出します。
ただし、import宣言でcom.fujitsu.ObjectDirector.CORBAパッケージは指定しないでください。
以下にコーディング例を記述します。
org.omg.CORBA.ORB orb=org.omg.CORBA.ORB.init(app, props); : ((com.fujitsu.ObjectDirector.CORBA.ORB)orb).clear_client_request_timer(); |