RqRtBlock

 

リクエストの受付をブロックします。

発行された内部/外部リクエストがサーバに到達することを防止します。サーバがMRBと全く接続しなかったかのように、リクエストは処理されます。例えば、各リクエストのブローカータイムアウトに基づいて待ち続けます。

構文:

RqRtBlock (サーバ/サービス名, 実行エンジン番号, Supervisor パスワード, 全て,シャットダウン)

パラメータ:

  • サーバ/サービス名 …… [サービス/サーバ]テーブルに定義されているサーバ/サービス名。サービス名が指定された場合、そのサービスに対応するサーバからのリクエストがブロックされます。

  • エントリ番号 …… 実行エンジンの内部番号を示す数値。ここで指定する実行エンジンは、RqRts関数で検索したもののいずれかでなければなりません(したがって、この関数は、RqRts 関数の後で呼び出さなければなりません)。

  • この値を「0」に設定した場合、全ての実行エンジンがブロックされます。

  • この値を「-1」に設定した場合、現在のエンジンがブロックされます。

  • Supervisor パスワード  …… MGRB.INIファイルに設定されたPasswordSupervisorパラメータで設定されたパスワード

  • 全て …… 論理値

  • True …… 全てのリクエストがブロックされます。

  • False …… 外部のリクエストのみブロックされます。

  • シャットダウン …… 論理型。Trueが設定されるとエンジンに誰もアクセスしていない場合に終了するようになります。
    RIAアプリケーションをアップグレードするには、現在の実行エンジンに新規ユーザがアクセスできない状態で、現在利用中のユーザのみ継続して使用できるようにします。新しいエンジンは、アップグレードされたアプリケーションを実行し、新規のユーザを受け付けるようにします。
    このパラメータは、サーバを誰も使用していない状態になるまでシャットダウンしないように指定することができます。

戻り値:

論理値 …… アプリケーションサーバがブロックされたり、必要な状態の場合は「True」が返ります。ブロックできなかった場合は「False」が返ります。
アプリケーションサーバが以下の状態でない場合、この関数は失敗します。

  • AVAIL Idle

  • AVAIL Running

  • BUSY Request

  • BLOCKED

  • BLOCKED external

サービス名やエンジン番号が正しくない場合は、この関数は失敗します。また、Supervisorパスワードが正しくない場合も失敗します。

例:

RqRtBlock ('Default Broker', BA, 'Secret', 'FALSE'LOG)

 

変数項目「BA」には、エンジン番号が一時的に保存されているものとします。この番号は、RqRts関数で取得します。

注意事項:

特に、アプリケーションサーバから「I am alive」メッセージが送られなかったり、アプリケーションサーバが開発モードに切り替わったりするような場合でなければ、ブロックされたアプリケーションサーバは、RqRtResume関数によってロック状態が解除されます。

関連トピック:

アプリケーションサーバとして動作