コンフィギュレーションファイルのカスケード構成

Wrapper バージョン 3.0.0 より、1つのコンフィギュレーションファイル内に、 カスケード形式で「インクルードファイル(その他のファイルを埋め込む)」を指定することが可能になりました。 これは、デフォルト値として利用されるメインのコンフィギュレーションファイル 「wrapper.conf」を変更せずに、 デフォルト値を上書きすることができるので便利です。

シンタックス:

次のシンタックス(構造文法ルール)に従い、コンフィギュレーションファイルに一行を加えることで、 インクルードファイルを指定することができます。

@include ../conf/wrapper2.conf

階層の深さ:

インクルードファイルは、10階層の深さまで、ネストする(カスケードで数珠つなぎ)ことができます。

プロパティの優先度:

ファイル内で「インクルードファイル(含めるファイル)」を定義する場所(書き順)は重要です。 特に、同じプロパティ名が存在する場合に、書き順に注意してください。

@include」行の定義を追記する場所は、コンフィギュレーションファイル内の一番下に記述するべきです。 例えば、 「wrapper.conf」ファイルに「File2.conf」が含まれており、 その「File2.conf」ファイルには「File3.conf」が含まれており、 さらに、その3つの各ファイルに同じプロパティ「PropertyX=valueX」が定義されている場合、 「File3.conf」ファイルのプロパティ「PropertyX=value3」が最終的に有効になります。

他の例では、インクルードファイルの後に設定されたプロパティは、インクルードファイル内のプロパティ設定を上書きします。

このルールは、インクルードファイルのすべてのコンテンツにも適用されます。

パス:

もし、インクルードファイルへのパスが相対参照で指定されている場合、 Wrapper の作業ディレクトリーを示す配置場所も、全てのパスが相対参照でなければなりませんので、注意してください。 デフォルトで、作業ディレクトリーは、 Windows 上では「wrapper.exe」ファイルがある場所、 あるいは、UNIX 上では Wrapper を起動するために使用されるスクリプトの場所です。 [wrapper.working.dir]プロパティで、 作業ディレクトリーを変更することができますが、 完全なコンフィギュレーションファイルがロード(読み込み)されるまで有効になりません。 つまり、これは、ファイル参照を含めた相対参照が、常に、 本来の Wrapper 作業ディレクトリーへの相対参照である、という意味です。


環境変数と使用する:

インクルードファイルを使用する場合、環境変数を参照することもできます。 Wrapper によってすでに定義されている環境変数を参照するか、 必要に応じて構コンフィギュレーションファイルに独自の環境変数を設定することができます。

事前定義された環境変数については、環境変数ページをご覧ください。

変数を含むインクルードファイルへのパスがマシン上の既存のファイルと一致する場合、 これにより、特定の環境にのみ適用するコンフィギュレーションプロパティのセットをそのファイルで指定できます。

例えば、プラットフォーム固有の構成を含める場合は、主ンフィギュレーションファイルで次の @include ディレクティブを参照できます。

wrapper.conf
@include ../conf/wrapper-%WRAPPER_OS%.conf

次に、特定の構成が必要なプラットフォームごとにファイルを作成します。

wrapper-windows.conf
wrapper.java.command=
wrapper.registry.java_home=HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany\MyApplication\JavaHome
wrapper-linux.conf
wrapper.java.command=%JAVA_HOME%/bin/java

インクルードファイルを必須にする:

もし何かの理由で、 指定されたファイルが指定場所に見つからない場合には、単に無視されます。 これにより、「ユーザーが作成したファイル」や「未作成ファイル」、一連のオプションのカスケード形式コンフィギュレーションファイルを 簡単に指定することが可能です。

一部のケースでは、アプリケーションを適切に動作させるためにインクルードファイルが必要になります。 これは、パスワードや機密データを含むセキュアファイルの場合に特に当てはまります。 Wrapper ver. 3.5.5 より、 必須のインクルードファイルを指定することが可能で、これが欠落しているとエラーが発生し、Wrapper が起動しなくなります。

設定例:
@include.required ../conf/wrapper-settings.conf

Wrapper ver. 3.6.0 より、インクルードファイルがオプションか、デフォルトで必須かを指定できます。 このインクルードモード@include.default_mode ディレクティブで設定でき、 現在のコンフィギュレーションファイルまたはそのインクルードファイルの任意の場所で変更できます。

設定例
@include.default_mode=required

# 以下のインクルードファイルは必須です
@include ../conf/wrapper-settings1.conf
@include ../conf/wrapper-settings2.conf
@include ../conf/wrapper-settings3.conf

@include.default_mode=optional

# 以下のインクルードファイルはオプションです
@include ../conf/wrapper-additional-settings1.conf
@include ../conf/wrapper-additional-settings2.conf
@include ../conf/wrapper-additional-settings3.conf

@include.optional は、デフォルトのインクルードモードが「required」(必須)の場合にオプションのインクルードファイルを指定できるようになります。

設定例:
@include.default_mode=required

# 以下のインクルードファイルは必須です
@include ../conf/wrapper-settings.conf

# 以下のインクルードファイルはオプションです
@include.optional ../conf/wrapper-additional-settings.conf

デバッグ

デバッグメッセージの有効化:

デフォルトで、インクルードファイルは自由に選択できるオプションとして設計されていますので、 Wrapper はインクルードファイルが見つからない場合には静かにスキップします。 これでは、インクルードファイルの参照失敗の不具合を検証するデバッグ調査では好ましくありません。 そこで、@include ファイル参照の指定よりも前に、 以下の例のようにデバッグ宣言「@include.debug」を付加することで、 インクルードファイルについてのデバッグメッセージを有効にすることが可能です。 このデバッグ宣言の指定は、コンフィギュレーションファイル 「wrapper.conf」内で、 ログ化プロパティの設定よりも前に、 指定しなければなりませんので、その書き順に注意してください。

@include.debug

出力先:

出力はコンソールに表示され、同様に、Wrapper バイナリと同じディレクトリーにある デフォルトの「wrapper.log」ファイルにも出力されます。 Wrapper が Windows サービスとして動作している場合なら、 デフォルトの「wrapper.log」ファイルは Windows 「System32」ディレクトリーに出力されるはずです。

ライセンスファイルをカスケード形式にする:

ライセンスキープロパティ用のコンフィギュレーションファイルを新しく作成して、 コンフィギュレーションファイル 「wrapper.conf」 と同じディレクトリー内に配置することができます。 詳しくは、ライセンスファイルをカスケード形式で有効にする方法 を参照してください。