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

概要:コンフィギュレーション・ファイル・ディレクティブ

Java Service Wrapperがコンフィギュレーション・ファイルを解釈する際に、ほとんどの場合、 「#」文字に続く全てのテキスト文字は、コメントとして無視されます。 しかしながら、そのルールに少し例外があります。

Wrapperは歴史的に、コンフィギュレーション・ファイルをロード(読み込み)して処理する、 特別なディレクティブを定義するC言語パターンを使用してきました。

コンフィギュレーション・ファイルのエンコード指定

Wrapperバージョン3.5.0から、個別のコンフィギュレーション・ファイルのエンコードの指定が可能になりました。 もっともポータブルなエンコードは、UTF-8ですが、 他のエンコードは、一部のプラットフォーム上でサポートされています。

エンコード・ディレクティブは、コンフィギュレーション・ファイルの一行目で指定しなくてはなりません。 Wrapperでは、ディレクティブが不足しているファイルがあれば、その警告をログに出力します。 インクルード・ファイル(カスケード形式)に異なるエンコードを指定することが可能です。

設定例:
#encoding=UTF-8

wrapper.debug=FALSE
...

コンフィギュレーション・ファイルのインクルード・ファイル(カスケード形式)

コンフィギュレーションを分割して複数のコンフィギュレーション・ファイルにすることが可能であり、 メインのコンフィギュレーション・ファイルにインクルード・ファイル(カスケード形式)として含めることができます。 詳しくは『コンフィギュレーション・ファイルのカスケード(インクルード・ファイル)』ページをご覧ください。

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

Wrapperでは、何かの理由で参照できない/存在しないインクルード・ファイル(カスケード形式)があった場合でも、 警告は出さずに意図的に静かにスキップします。 これは、むしろ、プラットフォーム別に特定のコンフィギュレーションを用意したり、 既存プロパティ値の任意的な上書きを可能にできるので、とてもパワフルな機能です。

インクルード・ファイル(カスケード形式)の必須:

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

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

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

Wrapperバージョン3.3.0から、インクルード・ファイル(カスケード形式)のデバッグが可能であり、 何が含まれている/含まれてないを正確に探して、 「#include」ディレクティブを検索します。 詳しくは『インクルード・ファイル(カスケード形式)のデバッグ・メッセージ有効化』ページをご覧ください。

設定例:
#include.debug

プロパティのデバッグ

Wrapperバージョンから、プロパティのロード(読み込み)のデバッグが可能になりました。 このディレクティブでは、他の宣言によってプロパティが上書きされる時はいつでも、 あるいは、その値修正でプロパティが設定できない時、スタートアップ時にWrapperにメッセージを出力させます。

コンフィギュレーション・ファイルのカスケード(インクルード・ファイル) を使って、あるいは他の手法により、任意にプロパティ値を上書きすることは、よく行われていることであるため、 それらの警告はデフォルトで意図的にログ化されません。

設定例:
#properties.debug

Wrapperが設定されるため、最後に定義された特定のプロパティのインスタンスが利用されます。 デフォルト値が設定され、システムへ特定の値を含む任意のインクルード・ファイルを参照できるため、 これは、とても有益です。 このディレクティブを設定することは、なぜプロパティがその値になっているのか確認するのに便利なヘルプとなります。

プロパティ再定義の例:
STATUS | wrapper  | The "foo.bar" property was redefined on line #8 of configuration file: /home/wrapper/conf/wrapper.conf
STATUS | wrapper  |   Old Value foo.bar=123
STATUS | wrapper  |   New Value foo.bar=XYZ

Wrapperコマンドラインで指定されたプロパティ値は「最終値」であり、 つまり、コンフィギュレーション・ファイルの値で変更したり上書きすることはできません。 実際のコンフィギュレーション・ファイルを変更することなく、ユーザーがテスト値でWrapperを動作させることができ、とても便利です。

最終プロパティ再定義の例:
STATUS | wrapper  | The "foo.bar" property was defined on the Wrapper command line and can not be overwritten.
STATUS | wrapper  |   Ignoring redefinition on line #8 of configuration file: /home/wrapper/conf/wrapper.conf
STATUS | wrapper  |   Fixed Value foo.bar=123
STATUS | wrapper  |   Ignored Value foo.bar=XYZ

Wrapperは、いくつかの内部環境変数を設定します。 それらは、最終プロパティで設定されます。 もし、ユーザー・コンフィギュレーション・ファイルでどれか環境変数の設定を試みても、 Wrapperはそれを無視して、Wrapperによって設定される値を持続します。

最終プロパティ再定義の例:
STATUS | wrapper  | The "set.WRAPPER_ARCH" property is defined by the Wrapper internally and can not be overwritten.
STATUS | wrapper  |   Ignoring redefinition on line #10 of configuration file: /home/wrapper/conf/wrapper.conf
STATUS | wrapper  |   Fixed Value set.WRAPPER_ARCH=x86
STATUS | wrapper  |   Ignored Value set.WRAPPER_ARCH=special