MGREQ.INI

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

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

注意:

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

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

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

キーワード

説明

[REQUESTER_ENV]セクション

Gateway

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

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

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

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

MessagingServer

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

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

AltMessagingServer

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

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

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

BrokerTimeout

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

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

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

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

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

KeepAlive

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

この設定は、OSの設定が使用される時のみ有効です。システム管理者は、OSの設定間隔を指定しなければなりません。

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

注意:

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

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

RequesterTimeout

タスクが完了するまでのMRB が待機するタイムアウト時間(単位:秒)で、この時間が経過するとタイムアウトになります。

この値を0 に設定した場合、タスク完了のメッセージは、MRB には送られません。

構文: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ファイルを指定した場合、マージ処理は実行されません。

構文:DefHtml=ファイル名

DefApp

DefProg

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

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

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

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

Http Vars

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

注意:

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 uniPaaSは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)

 

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

  • N …… リクエストの文字コードは Shift-JIS として処理されます。

  • Y …… リクエストの文字コードは UTF8 として処理されますが、もし UTF8 としての解釈に失敗したら、Shift-JISであるとして処理します。

注意:

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

Log

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

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

 

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

同期:

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

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

レベル:

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

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

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

CacheEngineConnections

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

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

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

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

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

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

EncryptedCommunication

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

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

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

注意:

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

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

 

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

コード

アルゴリズム

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

1

BLOWFISH

32~448    (推奨値:128)

2

CAST-128

40~128  (推奨値:64)

3

DES

56

5

RC2

40~128  (推奨値:64)

7

RC5

8~2040  (推奨値:128)

10

AES

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

[MAGIC_MESSAGING_GATEWAYS]