MGRB.INI

分散アプリケーション > サポートされるミドルウェア > MRB

MGRB.INIは、MRB用の環境設定ファイルです。MGRB.INIファイルは、MRBの初期設定処理中に読み込まれます。MGRB.INIファイルが見つからない場合、MRBはデフォルト値で初期設定を行います。

以下のパラメータが定義されています。

キーワード

意味

BrokerPort

MRB のポート番号を指定します。このポートにリクエストが送られてきていないか、MRB により常時チェックされます。MRBは、指定されたポート番号で始まる5つの連続したポートを開くことができます。

構文:BrokerPort =ポート番号

ポート番号のデフォルトは、Magicのレビジョンによって変わります。  

EnginesPriority

コンピュータ名の一覧で(最高で9つまで)、サーバエンジンを割当てるために使用します。この一覧の順序に基づいてエンジンが選択され、クライアントからのリクエストが処理されます。つまり、実行可能であれば一覧の最初のコンピュータのエンジンが実行され、そうでなければ、2 番目のコンピュータのエンジンが実行される、という具合になります。

構文:EnginesPriority=[<コンピュータ名1>][,<コンピュータ名2>]

ServerTimeout

タイムアウト(単位:秒)で、非同期コールの実行中、この時間が経過するとエンジンからMRB に対してI-AM-ALIVE メッセージが送出されます。

この値を0 にした場合、エンジンからMRB にはI-AM-ALIVE メッセージは送られなくなります。このため、タスクの実行中、エンジンが何らかの原因でクラッシュしたり異常終了した時でも、エンジンからI-AM-ALIVE メッセージが送られることがなくなるため、その状態はMRB には認識不可能になります。

構文:ServerTimeout = n

CommTimeout

TCP/IP操作(接続/送信/受信)が、失敗する前にリトライする最大時間(単位:秒)です。

MRBによって送信されたメッセージに対してMGRB.INIファイル内のこの設定はMGREQ.INIファイル内の設定を上書きします。「通信タイムアウト」のトピックを参照してください。

汎用のリクエスタレイヤーの低レベルのメッセージは、MGREQ.INIファイルの設定が使用されます。

デフォルトは10秒です。最小値は1秒です。

PasswordSupervisor

このキーワードを使用して、ユーザからのMRB に対するアクセスを制限できます。

パスワードを指定した場合、MRB の次の処理でセキュリティチェックが実行されます。

  • 新しいエンジンのロード

  • MRB またはエンジンの終了

  • キューにあるリクエストの削除または優先順位の変更

指定を省略した場合には、MRB の処理ではセキュリティチェックは行われないため、ユーザ名とパスワードはチェックされません。

PasswordQuery

オプションで省略できます。このキーワードを使用して、ユーザからのMRB に対するアクセスを制限できます。

パスワードを指定した場合、あるユーザから別のユーザのリクエストの照会が実行された時、そのユーザのユーザ名とパスワードがチェックされます。リクエストは提出時に使用されたユーザ名とパスワードを使用して行なわれるため、自分のリクエストを照会する場合には、制限はありません。

リクエストの提出時に使用されるユーザ名とパスワードとして、[設定/サービス]のユーザ名とパスワード、Magic のアプリケーションのログオンに使用されたユーザ名とパスワード、MGREQ.INI ファイルに保存されているユーザ名とパスワードは全てMRB により受け入れられます。

この指定を省略した場合、ユーザ名とパスワードはチェックされません。そのためリクエストは、どのユーザからも照会が可能となり、ユーザは別のユーザのリクエストを確認できます。

ReLoad

Magicアプリケーションサーバのインスタンスが異常終了した場合、MRBが自動的にMagicアプリケーションサーバを再ロードするかどうかを指定します。

構文:Reload=YまたはN

Log

上位レベルのMRBの動作(初期化、リクエストの受信、アプリケーションサーバの割当、アプリケーションサーバ情報の送信など)を記録するログファイルを指定します。このログにより、特定のリクエストの処理を確認できます。

構文:LOG=ファイル名  同期  レベル

ファイル名……ログファイル名を指定します。ファイル名に空白を含むことはできません。

同期  

  • Y……ログファイルは、行ごとに開閉されます。これにより、コンポーネントがメモリ内にロードされている時にも、ファイルを削除できます。複数のモジュールでログファイルを共有することも可能です。  

  • N……ログファイルは、コンポーネントの初期化と終了の時のみに開閉されます。

  • F……印刷用に書式化された各行がログファイルに送られます。ログファイルは、コンポーネントの初期設定と終了操作の間でのみ開閉されます。

レベル

  • C……ユーザレベル(概要ログ)

  • S……サポートレベル(中間ログ)

  • R……MSJ社の開発者デバッグ用のレベル(詳細ログ)

低レベルのMRBの動作(接続、送信、受信など)を記録できるようにするには、MRBのカレントディレクトリにあるMGREQ.INIファイルでのログ設定を行います。

ReqHistorySize

MRBは、処理した各リクエストについての履歴ログを持っています。(MagicのRQ関数やコマンドラインリクエスタのQUERY=LOG パラメータでアクセス可能です。)

このキーワードは、MRBが履歴ログに保持するリクエストの数を制御します。

構文:ReqHistorySize = 数値

デフォルトは、20,000、最小値は5,000、最大価値は100,000です。

ActivityLog

MRB の動作イベント内容を記録するログファイルのファイル名を指定します。

構文:ActivityLog= パス名\ ファイル名

指定されない場合、「mrb_event.log」という名前で作成されます。

ShutdownTimeout

この値は、全てのアプリケーションサーバに対し、指定された期間内に段階的にシャットダウンするように指示するための数秒です。

構文:ShutdownTimeout = 数値

デフォルト(=1)では、全てのアプリケーションに対して、直ちにシャットダウンするように指示し、MRB自身をも直ちにシャットダウンされます。

DelayServiceStart

MRBをサービスで起動した場合、起動を指定した秒数分遅らせるように指定できます。

EnableFilters

「Filters」パラメータで指定されたフィルタ処理を有効にするかどうかを指定します。

構文:EnableFilters = Y またはN

この指定が「N」の場合、「Filters」や「AllowReserve」の指定は意味がありません。

デフォルトは、「N」です。

Filters

リクエストのフィルタ機能を利用すると、複数の異なるリクエストに対してMRB やMagic エンジンが利用できるスレッド数に応じて処理が案分されます。

設定方法

フィルタ機能を有効にするには、MGRB.INIの[MRB_ENV]セクションにて以下のパラメータを指定します。

  • EnableFilters = Y

  • Filters = フィルタ用キーワード

  • AllowReserve ……Y

フィルタ用キーワードの指定

コールリモートの場合

  • 呼出側……MAGIC.INIの[サービス]特性(MAGIC.INI の[MAGIC_SERVICES]セクション)にフィルタキーワードを指定します。

例: Default Service = Default Broker,,,,RMC

  • 受信側……MGRB.INIの[MRB_ENV]セクションとMAGIC.INI の[MAGIC_ENV]セクションに以下のように指定します。

Filters = HTTP:10% | SOAP:30% | RMC:20%

この場合、20 スレッドのライセンスを持つアプリケーションサーバが、異なる種類のリクエストを処理する際に、以下のような割合を指定することになります。

  • HTTP …… 2 スレッド

  • SOAP …… 6 スレッド

  • RMC …… 4 スレッド

  • フィルタを指定しないリクエスト…… 8 スレッド

注意:

  • キーワードの名前自体に意味はありません。呼出側で指定したキーワードと合っているかどうかで判断されます。上記の例の場合、呼出側では、キーワードは「RMC」になっているため、アプリケーションサーバは、4スレッド分の処理しか実行されません。

  • MAGIC.INIの[MAGIC_ENV]セクションの設定が優先されます。MAGIC.INI にフィルタが指定されていない場合、MGRB.INI側が有効になります。

インターネントリクエスタ/ コマンドラインリクエスタの場合

  • 呼出側…… MGREQ.INIの[REQUESTER_ENV]

Filters = HTTP

  • 受信側…… コールリモートの時と同じです。

AllowReserve

Filterキーワードの割合の合計が100% に満たない場合、残りの割合を他のフィルタ用に利用できるようにするかどうかを指定します。

構文:AllowReserve = Y(デフォルト)またはN

QueueMaxSize

デフォルトは無制限です。

MRBがすでにそのキュー内にQueueMaxSizeリクエストを持っている場合、直ちに送信できない以降のリクエスト(同期または非同期)は、キューに入らず、リクエスタは、エラー-198(キューの上限に達した)を受け取ります。

[APPLICATIONS_LIST]

オプションのセクションで省略できます。このセクションには、コマンドライン実行ファイルまたはシェルコマンドを記述します。

ここで記述した実行ファイルまたはシェルコマンドは、リクエスタから実行することができます。また、MRB の初期化時に起動することもできます。

構文:エントリ名=<コマンド>,[<作業フォルダ>],[<ユーザ名>], [<パスワード>],[<MRB の初期化時に実行される回数>],[<起動されるエンジンの最大数>]

[REMOTE_APPLICATIONS_LIST]

オプションのセクションで省略できます。マルチコンピュータ環境で、各コンピュータでエンジンがMRB とは別個に機能している時に、このセクションを記述します。

MRBのインスタンスはローダとして機能しますが、インスタンスは、エンジンが機能しているコンピュータ全てに対して有効でなければなりません。マルチコンピュータ環境の場合、このセクションに実行可能ファイルを一覧で指定しておきます。これで、ローカルのMRB からリモートのMRB に対して自動的に接続が実行されるとともに、このセクションに指定した実行可能ファイルがロードされます。なお、リモートMRB にパスワードが設定されている場合、PasswordSupervisor を指定しなければなりません。指定しない場合、パスワードとしてはローカルのMRB のパスワードが使用されます。

構文:エントリ名=<リモートMRB のノード名/ポート番号>,[<リモートMRB のPasswordSupervisor>],[<リモートMRB に定義されているエントリ名>],[<MRB の初期化時に実行される回数>]

<リモートMRB に定義されているエントリ名>の値が1に設定されている場合、定義されたアプリケーションの1つのインスタンスを起動します。

[APPLICATION_CLIENTS_MAP]

オプションのセクションで省略できます。開発者に対して、リクエストの受信先のエンジンを制御できます。

例えば、同一のプロジェクトファイルに対して複数の開発者で開発を行っている場合、ある開発者が、オブジェクトをチェックアウトし、MRBに自分のエンジンを割当てるといった作業が可能です。

構文:<エンジンのホスト名>:<クライアントのノード名>[,<クライアントのノード名x>]

 

注意:

リモートコールの実行中(このセクションでエンジンがマッピングされている場合)、リクエストゲートウェイでは、リクエストとともに送られてきたユーザ名とパスワードを使用して処理が行われます。

したがって、開発者がまだエンジンにログオンしていない時には、ログオンの際、ユーザ名とパスワードを指定しなければなりません。これで、その開発者が使用できるプロジェクトファイルであるかを確認できます。

なお、ユーザ名とパスワードは、インターネットとコマンドラインではMGREQ.INI ファイル、Magicクライアントでは[サービス]テーブルにおいて定義できます。

[SNMP]

SNMPサポート用のパラメータを指定します。「SNMPサポート」の説明を参照してください。