World Map
Java Service Wrapperは、御社Javaアプリケーション製品の安定した信頼性を高める最短最善の方法です。
  • Free Trial
  • Buy Now
コンフィギュレーションファイルのカスケード

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

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」が最終的に有効になります。

その他の例では、 「#include」行の定義より後ろに、同じプロパティ名がある場合は、それが優先になります。

このルールは、インクルードファイル内でも同様に全てのファイルに適用されます。

パス:

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

インクルードファイル(カスケード形式)を必須にする:

もし何かの理由で、 指定されたファイルが指定場所に見つからない場合には、単に無視されます。 これで、「ユーザーが作成したファイル」や「未作成ファイル」のどちらも含めることができるので、 「選択肢シリーズ」を簡単に設定することが可能です。

一部のケースでは、アプリケーションの正しいオペレーションの一部として、 インクルードファイル(カスケード形式)を必須にしたい場合もあります。 Wrapperバージョン3.5.5から、必須のインクルードファイル(カスケード形式)を指定することが可能で、 そのファイルが不足していた場合にエラーを表示して、Wrapperの起動を阻止することができます。

設定例:(インクルードファイルの必須指定)
#include.required ../conf/wrapper-settings.conf

インクルードファイル(カスケード形式)のデバッグ

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

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

#include.debug

出力先:

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

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

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

参照: デバッグ