MGREQ.INI

MGREQ.INIファイルは、リクエスタの初期化時に読み込まれます。このファイルは、汎用メッセージモジュール(MGrqgnrc.dll)の初期化ファイルです。

MGREQ.INIファイルは、以下の2箇所にインストールされます。

注意:

MGREQ.INIファイルは、MRBでも使用されます。MRBの低レベルの動作(接続、送信、受信)を追跡する場合に使用する必要があります。

MGREQ.INIファイルは、Magic xpaのパーティショニング機能に関わる全てのモジュール(リクエスタ、アプリケーションサーバ、MRB)で使用されます。これらの3つのモジュールが起動する際、それぞれMGREQ.INIファイルを検索します。

MGREQ.INIファイルには、次のパラメータを定義します。

AltMessagingServer

DefName

Log

Appl

DefPath

[MAGIC_MESSAGING_GATEWAYS]

AutoLoopBack

DefProg

MaxUploadKB

BindFirstIPAddress

EnableAgent

MessagingServer

BrokerTimeout

EnableTraps

NMSAddress

CacheEngineConnections

EncryptedCommunication

Password

CloseWaitTimeout

Filter

Priority

CommTimeout

Gateway

ReportStatusCode

Community

Handles

RequesterTimeout

ConvertAlphaFromUTF8ToUnicode

HttpSigVars

RetryMainTime

DefApp

HttpVarts

SpecialAffinity

DefError

KeepAlive

Username

DefHtml

LocalHost

Version

 

キーワード

説明

[REQUESTER_ENV]セクション

Gateway

リクエスタが使用するミドルウェア。

  • Gateway = 1 …… MRBを使用します。

  • Gateway = 5 …… J2EEを使用します。

構文:Gateway = n(デフォルト:1 (MRB))

MessagingServer

リクエストを受信するミドルウェアアドレス。

構文:MessagingServer = ノード名/ポート番号

AltMessagingServer

代替となる同じ種類の別のミドルウェアのアドレス。

メインメッセージサーバへの接続がエラーになった場合、リクエスタはこのアドレスを参照します。

構文:AltMessagingServer = ノード名/ポート番号

BrokerTimeout

リクエストがMRB に送られた後、MRB から使用可能なエンジンを割当てることができたことが報告されるまで待機する時のタイムアウト時間(単位:秒)です。この時間内に使用可能なエンジンが見つからなかった場合、MRB から次のいずれかのエラーコードが返されます。

  • 103 APP-NOT-FOUND …… このエラーコードは、MRB の内部データベースにアプリケーションが定義されていないことを示します。

  • 104 APP-IN-USE …… アプリケーションは定義されているものの、エンジンが使用中であることを示します。

  • 119 ERR_LICENSES_EXCEEDED …… アプリケーションをサポートしているすべてのアプリケーションサーバがライセンス上のチェックアウト値に達しました。

管理/問合わせ(例えば、QUERY RT、QUERY APPSとTERM)の場合、リクエスタはブローカタイムアウト* 5として計算される時間まで待ちます。そして、MRBが非常に大きなサイズの問合わせ処理を行うことができるようにします。

ブローカタイムアウトのエラーを解決するには:

  • MRBのディレクトリでは、Mgrb.iniファイルの[APPLICATIONS_LIST]セクション内の(予めロードされたり自動的にロードされる)開始エンジンの数を増やします。Mgrb.iniファイルを修正した場合、MRBを再起動してください。

  • リクエスタのフォルダ(例えばインターネットリクエスタの場合には、Scripts)内のMgreq.iniファイルを編集するか、[リモートコール]処理コマンドを実行する場合は、Magic.iniファイルを修正します。Broker Timeoutの値を 10秒以上に設定してください。

この値を0 に設定した場合、MRB からエンジンに関する情報は返されません。

構文:BrokerTimeout = n (デフォルト:10秒)

KeepAlive

MGrqgnrc.dll が接続のためのリクエスタオプションを設定したり、接続監視間隔を制御するためにOSレベルでの設定を行う場合に使用します。

この設定は、OSの設定が使用可能な場合のみ有効です。各OSには、異なるフラグがあります。

KeepAlive=Yの場合、Magic xpaの汎用メッセージングレイヤのモジュールは、システム管理者にオープンコネクションごとにkeep-aliveの間隔をコントロールするためにOSレベルの設定を使用させます。

システム管理者のみが、OSの設定間隔を指定できるようにしなければなりません。

Magic.iniファイルのServerTimeoutの設定が「0」でない場合、KeepAliveフラグは(Mgreq.iniに設定されていなくても)、Magicエンジンによって設定されます。

注意:

日本語版では現在サポートされていません。

構文:KeepAlive = Y or N (デフォルト:Y)

RequesterTimeout

アプリケーションサーバがリクエストの実行が終了するまでリクエスタが待つ最大時間(単位:秒)です。

この時間が経過するとアプリケーションサーバはリクエストを割り込ませません。この場合、リクエスタは出力を待つことなく継続できます。

この値を0 に設定した場合、タスクの実行時間に制限がなくなります。しかし、リクエストはTCP/IPのスタック設定によって制限されるかもしれません。その場合は、アプリケーションサーバへの接続がTCP/IPスタックによってリセットされ、-107のエラーが返ります。このが値を0以外を設定すると、タイムアウトが発生し、-110のエラーが返ります。

エンジンからリモートコールを実行すると、Magic.iniファイルのRequester Timeoutの設定がMgreq.iniの設定をオーバーライドします。

構文:RequesterTimeout = n

CommTimeout

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

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

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

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

構文:CommTimeout = n

Priority

オプションで省略できます。リクエストのデフォルトの優先順位で、キューに優先順位が割当てられていない時に、この優先順位の値が使用されます。0 が最低、9 が最大です。この優先順位は、MRB でのみ有効です。

構文:Priority =n

Username, Password

オプションで省略できます。アプリケーションに対するデフォルトのユーザ名とパスワードを指定することができます。リクエストにユーザ名とパスワードが含まれていなかった場合、このデフォルトのユーザ名とパスワードが使用されます。

構文:

Username =ユーザ名

Password =パスワード

DefPath, DefName

オプションで省略できます。デフォルトのディレクトリとファイル名です。リクエストのFILENAME パラメータにパス名およびファイル名が指定されていない場合、このディレクトリとファイル名が使用されます。

構文:

DefPath =ディレクトリ名

DefName =ファイル名

DefHtml

DefHtmlキーワードは廃止され、DefErrorキーワードに変更されました。

DefError

オプションで省略できます。DefErrorに値が設定された場合、mgrqispi.dllとmgrqcgi.exeなどのインターネットリクエスタは、HTMLまたはXMLフォーマットでエラーを返します。リッチクライアントタスクの場合は、HTMLフォーマットのみサポートされます。

インターネットリクエスタで使用します。リクエスタからの要求に対してプログラムが応答しない場合、エラーメッセージ用に表示するファイル名を指定します。XML形式かHTML形式のファイルが指定できます。

HTMLファイルを使用する場合、以下のように設定方します。

  • 動的指定  …… DefError = http(s)://サーバ名/エイリアス/filename.htmlという形式で結果ファイルを返すURLを指定します。使用できるタグについては、DefErrorファイル構造を参照してください。

XMLファイルを使用する場合、2つの設定方法があります。

  • 静的指定 …… DefError=C:\filename.xmlなどのXMLファイルのフルパス名を使用します。この場合、指定されたファイルにリクエスタが情報データをマージして返します。使用できるタグについては、DefErrorファイル構造を参照してください。

  • 動的指定 …… 定数「XML」を指定する方法です。DefError=XMLと指定します。この場合、定型の書式にデータがマージされて返ります。

HMLファイルを指定した場合、マージ処理は実行されません。

構文:DefError=ファイル名

DefApp

DefProg

これら2つのキーワードを使用することで、アプリケーションの起動時のURLにAPPNAMEやPRGNAMEが指定されていない場合のデフォルトのアプリケーションやプログラムの名前を定義することができます。

これにより、Webページ内のURLにAPPNAMEやPRGNAMEを指定する必要がなくなり、プログラムのエントリポイントを隠すことができます。

両方を指定することも、どちらか一方を指定することもできます。

URLにAPPNAMEとPRGNAMEの両方を指定しない場合、ARGUMENTSも指定できません。起動時にパラメータを指定するアプリケーションには利用できません。

Http Vars

HTTP プロトコル上で使用される環境変数の名前を指定することで、その変数がHTTPサーバからMagicプログラムに送られます。プログラム内でGetParam 関数を使用することでこの変数の値を取得することができます。ISAPI 、CGI の各リクエスタで使用されます。

例:環境変数としてHTTP_USER_AGENTを指定すると、リクエスタがMagicサーバにUSER_AGENTの文字列を渡します。そのため、クライアントのWebブラウザのバージョンを確認することができ、バージョンによるプログラムのロジックを記述することができます。

注意:

MG_POST_BODYを変数として指定した場合、MagicサーバにBLOB形式でボディー全体を渡します。GetParam('MG_POST_BODY')を使用することで変数項目を使用すること無くアクセスできます。リクエスタは、ボディー(アプリケーション名や他のパラメータ)から情報を取得し、エンジンに対しては渡しません。

構文:HttpVars=変数名1,変数名2,

HttpSigVars

コンテキストを保持するように定義したバッチプログラム(マージWebプログラム)を、コンテキストIDを指定したリクエストで実行する場合に関係します。

クライアントの識別情報を持たずに実行されたコンテキストは、どのユーザからでもコンテキストIDが合っていれば処理されてしまいます。

この問題を避ける必要がある場合、クライアントを識別するための認証情報をここで指定します。以下のHTTP環境変数を指定することでコンテキストを作成したクライアントと異なるクライアントからリクエストを送られた場合、コンテキストIDが合っていてもエラーを返して拒否するようになります。

  • REMOTE_ADDR …… クライアント側のIPアドレス

  • REMOTE_HOST …… クライアント側のホスト名

  • REMOTE_USER …… クライアント側のユーザ名

  • HTTPS, SSL_CLIENT_KEY_SIZE …… SSL関連情報

  • HTTP_COOKIE …… ユーザ定義Cookie項目

Appl

許可されているアプリケーションの名前で、複数指定する場合、カンマで区切ります。アプリケーションを指定しなかった場合、全てのアプリケーションが使用できます。

構文:Appl=アプリケーション1,アプリケーション2,

注意:

日本語版では現在サポートされていません。

AutoLoopBack

パーティショニングモジュール(リクエスタやMRB、アプリケーションサーバ)が同一PC上にある場合、ネットワークが切断された時に問題が発生する場合があります。

例えば、ネットワークケーブルが外れた場合、WIndows はネットワーク上に接続されているPCの接続を全てアボートします。このフラグを使用することでこのような問題を防止することができます。

このフラグが指定された場合、DHCPを使用してホスト名の名前解決を行う代わりに、Magic xpaはLocalhost(127.0.0.1)を使用します。この結果として、ネットワーク接続が失われても、モジュールの間の接続はそのまま維持されます。

構文:AutoLoopBack=Y (デフォルト:Y)

MaxUploadKB

インターネットリクエスタを通してアップロードするファイルサイズの上限を指定します。

構文:MaxUploadKB=nnnn (単位 KByte)

 

上限を超えるとエラー260が返ります。

 エラーメッセージは、

 "File upload failed: file size exceeds maximum size limitation."

パラメータが設定されていないか、0 の場合、制限がかかりません。この場合は、ネットワークまたはアプリケーションサーバ上に負荷をかける場合があります。

Handles

MRB やアプリケーションサーバ、リクエスタによってオープンできるソケットの最大数を指定します。

デフォルト:500

注意:

日本語版では現在サポートされていません。

RetryMainTime

リクエスタがその主要なMRBに再接続する前に待機する最小時間(分)を指定します。この設定は、ISAPIとApache用のリクエスタのみ有効です。

デフォルトは5、最小値は1です。

注意:

日本語版では現在サポートされていません。

SpecialAffinity

マルチプロセッサを使用しているPCに対して、1つのCPU(スレッド)のみ使用するように現在のプロセス(例:MRBやアプリケーションサーバ)に強制する場合に使用します。

  • 0 …… すべてのCPU

  • 1 …… CPU0

  • 2 …… CPU1

  • 3 …… CPU2

  • Y …… ランダム

  • N …… すべてのCPU

構文:SpecialAffinity = Y/N (デフォルト:N)

Filter

リクエストに追加するフィルタ用のキーワードを指定します。

構文:Filter = < キーワード>

 

コマンドラインリクエスタやインターネットリクエスタからキーワードを送る場合に指定します。(リモートコールの場合は、MAGIC.INI で指定されたキーワードが送られます。)

MRBのFilterの説明を参照してください。

LocalHost

このキーワードは、ポート番号を持っているアドレスにアクセスする場合に、ホスト名を強制的に使用させることができます。デフォルトでは、現在のホスト名が使用されます。

構文:LocalHost = text

CloseWaitTimeout

準切断状態(例:クライアントによって接続を閉じられた状態)の接続を閉じる方法を指定することができます。

シャットダウンしたMRB やMagicエンジンと以前に接続されていて、再起動後に同じアドレスで再接続する場合、接続を開始するモジュールは、シャットダウンされておらず、準切断状態として接続が存在しています。

このキーワードを使用することで、次のリクエストを受信した時や、指定した時間が経過した時に、接続を自動的に閉じるようにできます。

注意:

MRB やMagicエンジンを止めることはできますが、HTTP サーバを停止させることはできません。

構文:CloseWaitTimeout = 数値(デフォルト:-1)

以下のキーワードを指定できます。

  • 正値 …… 全ての準切断状態の定期的な終了処理期間
    例えば、「5」と指定した場合、Magicエンジンは、5分ごとに準切断状態を閉じます。更に、リクエストが送られてきた時点でも閉じます。

  • -1 …… 定期的に閉じることはありません。準切断状態は、リクエストが送られてきた時点でのみ閉じます。

  • 0 …… 準切断状態は、決して閉じることはありません。

ConvertAlphaFromUTF8ToUnicode

インターネットリクエスタで受け付けるリクエスト(GETおよびPOST)のパラメータの文字コードを指定します。

構文:ConvertAlphaFromUTF8ToUnicode = Y/N(デフォルト:N)

以下のキーワードを指定できます。

  • Y …… 呼び出されたプログラムに渡されるパラメータがUnicodeの場合は、Unicodeのままです。そうでなければ、一般的な変換規則に基づいてUnicodeからANSIに自動的に変換されます。

  • N …… (UTF-8からUnicodeへの変換が失敗した場合も同じ)引数は変換されることなく呼び出されたプログラムに渡されます。

注意:

Magic実行エンジン (MgxpaRuntime.exe) と同じディレクトリにある MGREQ.INI ファイルでのみ有効です。

Log

低レベルのリクエスタの動作を記録するログファイルを指定します。

構文:LOG=ファイル名  同期  レベル 行数のしきい値

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

同期:

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

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

レベル:

  • B …… HTTPリクエストの受信と送信についてのみ記録されます。このレベルは、製造(そして、テストの)システム、特に通信範囲とコンポーネントのハンドシェークのトラブルシューティングで使用されるはずです。(サポートバージョン:2.4)

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

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

  • R …… MSE社の開発者向けレベル(詳細ログ)

行数のしきい値:(サポートバージョン:2.4)

値を指定することでログファイルの記録行数を変更することができます。指定値/2行を超えるとリネームされて保存されます。値を設定しない場合のデフォルト値は、50,000行になります。この設定は、サーバ側のログだけで、RIAログには反映されません。

ログレベルの内容によってデータ量が多くなる場合は、しきい値に関係なく 50,000行でリネームされます。

CacheEngineConnections

リクエスタから実行エンジンへの接続をキャッシュするかどうかを指定します。

  • N …… 各リクエストは、サーバに割り当てられた実行エンジンに対して新しい接続/切断を行います。(推奨できません)

  • Y …… 現在の動作が保持されます。

インターネットリクエスタの場合、Scriptsフォルダ内のMgreq.iniを修正してください。

コマンドラインリクエスタやブローカモニタ、リモートコールの場合は、デフォルトのインストールフォルダ内のMgreq.iniを修正してください。

構文:CacheEngineConnections = Y/N (デフォルト:Y)

EncryptedCommunication

リクエスタやブローカ、実行エンジンに対し、商用の対称性の暗号化アルゴリズムを使用して全てのメッセージを暗号化するように指定します。

各接続に対する対称キーは、ランダム化され、送信され、非対称の暗号(RSA)を使用して暗号化されます。

例:EncryptedCommunication=3,64:64ビットのDESアルゴリズムを使用します。

注意:

全てのMgreq.iniで同じ値を指定する必要があります。

構文:EncryptedCommunication = <暗号化コード>,<キーのサイズ>

以下のコードが使用できます。

コード

アルゴリズム

サポートされるキー長(ビット)

1

BLOWFISH

32~448    (推奨値:128)

2

CAST-128

40~128  (推奨値:64)

3

DES

64

5

RC2

40~128  (推奨値:64)

7

RC5

8~2040  (推奨値:128)

10

AES

128,192,256  (推奨値:128)

BindFirstIPAddress

  • Y …… ポートへの接続中にサーバがホスト名の名前解決を行って接続します。

  • N …… サーバは任意のIPアドレスで接続を試みます。

構文:BindFirstIPAddress=Y/N (デフォルト:Y)

[MAGIC_MESSAGING_GATEWAYS]

 

ロードする必要のあるモジュールのゲートウェイを指定します。

各リクエスタが処理できるミドルウェアタイプは1つのみです。必要なミドルウェアモジュールをロードするには、ミドルウェアゲートウェイエントリのマークを外します。

構文:MGSRVR##=DLL,レベル,ファイル名,同期 ,パラメータ

[SNMP]

 

EnableAgent

EnableAgent = Y, N (デフォルト)

Magic xpaのSNMP 拡張モジュールを有効にするかどうかを指定します。

EnableAgent = Yes の場合、NMS でMagic xpaをモニタすることができるようになります。

Magic xpaのSNMPモジュールがインストールされた場合のみ、この設定が自動的に「Yes」に設定されます。

この設定は、SNMPディレクトリ内にあるmgreq.iniでのみ有効です。

EnableTraps

EnableTraps = Y, N (デフォルト)

リクエスタがSNMPモニターにトラップ・メッセージを送信するかどうかを決定します。

これは、アプリケーションサーバやMRB、リクエスタをコントロールするmgreq.iniでのみ有効です。SNMPディレクトリ内のるmgreq.iniは無視されます。

NMSAddress

NMS がインストールされたサーバのホスト名かIP アドレスを指定します。

デフォルトは以下の通りです:Localhost/デフォルトのSNMPポート。

これは、アプリケーションサーバやMRB、リクエスタをコントロールするmgreq.iniでのみ有効です。ポートオプションは、非Windowsプラットホームでのみ有効です。

Version

Version = 1,2 デフォルト: 1)

NMS がサポートするSNMP のバージョンを指定します。

これは、そのバージョンのSNMPプロトコルのフォーマットで、トラップを送信します。

これは、アプリケーションサーバやMRB、リクエスタをコントロールするmgreq.iniでのみ有効です。SNMPディレクトリ内のるmgreq.iniは無視されます。

Community

コミュニティ名を指定します。(デフォルト:Public)コミュニティ名は、NMSへのパスワードとして動作します。

有効な値は英数字です(NMSによって設定されるコミュニティトークンと同じように設定します)。

れは、アプリケーションサーバやMRB、リクエスタをコントロールするmgreq.iniでのみ有効です。SNMPディレクトリ内のるmgreq.iniは無視されます。

ReportStatusCode

ReportStatusCode = xxx

  • xxx …… モニターによってトラップされるコード

SNMP モニタに送られるエラーコードを指定します。カンマやハイフンの組み合わせで、値の範囲を指定できます。例えば、103,104,105、または、102-107,109 と指定できます。全てのエラーコードをモニタするには、0-9999 と指定してください。

エラーコードは負値ですが、エラーコードの範囲を指定している場合は、正値で指定します。

これは、リクエスタをコントロールmgreq.iniでのみ有効です。SNMPディレクトリ内のmgreq.iniまたは、アプリケーションサーバやMRBによって使用されている場合は無視されます。