名前
CORBA-ORB-SET-CLIENT-REQUEST-TIMER -スレッド単位のサーバメソッド待機時間の設定
形式
DATA DIVISION. WORKING-STORAGE SECTION. COPY CONST IN CORBA. 01 COPY ORB IN CORBA REPLACING CORBA-ORB BY ORB. 01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. 01 COPY LONG IN CORBA REPLACING CORBA-LONG BY TIME. PROCEDURE DIVISION. CALL "CORBA-ORB-SET-CLIENT-REQUEST-TIMER" USING ORB TIME ENV.
機能説明
クライアントアプリケーションにおいて、サーバメソッドが復帰するまでの待機時間をTIMEに設定します。ここで設定する待機時間は、本関数を発行したスレッドが今後発行する全てのリクエストに対して有効となります。本関数を発行した場合、スレッドを終了する前にCORBA-ORB-CLEAR-CLIENT-REQUEST-TIMER関数を発行する必要があります。
パラメタ
CORBA-ORB-INIT関数によって獲得したORBのオブジェクトリファレンス。
サーバメソッドが復帰するまでの待機時間(秒単位)。待機時間には、0から100000000までを指定することができます。0を指定した場合は、サーバメソッドが復帰するまでの待機時間を監視しません。
例外情報が格納される構造体。
復帰値
正常復帰した場合の復帰値はありません。
異常終了した場合はENV構造体のMAJORにはCORBA-SYSTEM-EXCEPTIONが設定され、IDとMINORに詳細情報が設定されます。IDの意味と値は次のとおりです。MINOR意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
TIMEに不当な値を指定しました。
メモリ不足が発生しました。
注意事項
本メソッドは、クライアントプロセスの待機時間を変更する必要がある場合に使用します。
本メソッドは、サーバへのリクエスト送信に先立って発行することにより、スレッド単位で待機時間を設定します。
本メソッドを発行した場合、スレッドを終了する前にCORBA-ORB-CLEAR-CLIENT-REQUEST-TIMER関数を発行しないとメモリリークが発生します。なお、プロセスが終了すると、本メソッドを発行することによって獲得したメモリは解放されます。
本メソッドを発行した後、タイムアウト時間を別の値に設定する場合は、もう一度CORBA-ORB-SET-CLIENT-REQUEST-TIMER関数を発行します。その際にCORBA-ORB-CLEAR-CLIENT-REQUEST-TIMER関数を事前に発行する必要はありません。
待機時間の優先度は以下のとおりです(高い順から記載します)。
CORBA-ORB-SET-CLIENT-REQUEST-TIMER関数による設定
CORBA-ORB-SET-CLIENT-TIMER関数による設定
CORBAサービスの環境設定ファイル(config)のperiod_receive_timeoutパラメタによる設定