インデックス |
|
環境変数の展開 |
||||||
Wrapper は、いかなるプロパティ値でもランタイム時に、環境変数の展開をサポートしています。
コンフィギュレーションファイル
「wrapper. Wrapper がサービスとして動かされる時、環境からではなく、 システムレジストリから環境変数がロード(読み込み)されます。 これは、Windows がマシンを起動するときに、サービスが利用する環境変数をロード(読み込み)するために必要です。 レジストリにあるシステム環境変数が変更(直に設定の変更やコントロールパネルを通しての変更)された場合、 マシンを再起動するまでサービスへ有効になりませんが、 レジストリから環境変数をロード(読み込み)することで、同じ機能を提供している間は、 再起動の必要性を避けることができます。
これは、[JAVA_HOME]環境変数を定義する、 いかなるシステム上においても、完全に適切なパスへ、ランタイムで展開します。
注意参照された環境変数が定義されていない場合、警告がログに記録され、プロパティ値は変更されず、 そのままの状態で解釈されます。 Wrapper ver. 3.5.55 以降では、 「#variables.expand」ディレクティブを使用して、 コンフィギュレーションファイル内のセクションで変数の展開を無効にし、警告メッセージを回避することができます。 |
環境変数の定義 |
|||||||||
Wrapper は、コンフィギュレーションファイル
「wrapper. 「set.」、「set.default.」で始まる特別なプロパティ名:
冒頭に[set.]や[set.
もし、[set.
設定例: 環境変数を定義する機能のお陰で、コンフィギュレーションファイルを介して利用される値を 簡単に変更することが可能です。 以下の例では、外部アプリケーションの配置場所を特定するために、 環境変数の使用方法を示しています。
環境変数の定義の利用は、いつ、どのように、値を変更すれば良いのか理解していれば、とてもパワフルです。 Wrapper が起動される前に設定する環境変数は、もちろん、通常どおりに使うことができます。 もしコンフィギュレーションファイルに同じ変数名が指定されている場合には、 コンフィギュレーションファイルの値は、既存の値を上書きします。 コマンドラインによる変数定義:
コマンドラインから定義された環境変数は、少し異なる形で動作します。
システムからの値、あるいは、コンフィギュレーションファイルで設定された値など、いかなる値でも上書きされ、
コマンドラインからの値が有効になります。
コンフィギュレーションファイル
「wrapper.
注意コマンドラインから利用する際には、 プロパティ値にスペース(空白)を含んでいる場合、プロパティセット(プロパティ名とその値)の全体の値を、 開始と終わりに引用符(" ")で囲ってください。 注意循環参照雅設定されている変数は、コンフィギュレーションが再ロードされる都度(最低でも起動時に必要で、JVM 再起動の時に任意)に長くなる既知の問題があります。 典型的な例は「PATH」環境変数にパスを追加するときです:
現在、この問題を解決するための解決策に取り組んでいますが、 しかし、当面の間は回避策として、一度しか設定されない一時変数を使用できます。
|
デフォルト環境変数の定義 |
||||||||||||||||||||||||
Wrapper 起動時に、次の環境変数を設定します。
これらの変数は、コンフィギュレーションファイル
「wrapper.
|
擬似環境変数の定義 |
||||||||||||
上記環境変数に加え、次の変数は Wrapper に作成されますが、環境に格納されません。 「WRAPPER_RAND_NNNNNN」と「WRAPPER_TIME_YYYYMMDDHHIISS」変数は、 コンフィギュレーションファイル内に数回参照することが出来て、各参照に異なる値を生成することが出来ます。 そのため、環境に格納されません。 「"set.<X>"」シンタックスを利用することで1つの参照に対して生成された値を 自分の環境変数に格納することはできますが、環境変数の値が変更される度、基礎となるシステム関数を呼び出すと、 わずかなメモリリークが発生します。 これらの変数の値は再生成され、毎回変更されるため、コンフィギュレーションファイルを複数回再ロードできる場合は、 これを考慮する必要があります。
|
イベントハンドラ変数の定義 |
||||
上記の環境変数に加え、イベントプロパティの中で以下の変数も参照され、イベントが発生するときに使用されます。 これらの変数は、Wrapper コンフィギュレーションで使用され、環境に格納されませんので注意してください。
|
機密データのマスキング |
||||||||||
%. この表記法を変数定義と混同しないでください。 変数と同じ「%」区切り文字を使用して、コンフィギュレーションファイルの処理時に展開されることを示すだけです。 ログ出力でマスキングされる機密テキストまたはデータは、開始区切り文字「%」と「|」文字の間に書き込む必要があります。 Wrapper または Java アプリケーションの内部使用の場合、この表記は区切り文字「%」と「|mask」部分を削除して機密データのみに拡張されます。 ログ出力では、機密データは「*」文字に置き換えられます。 この表記は、特に[wrapper.app.property.<n>]プロパティの値などでパスワードをマスキングする場合に役立ちます。
[wrapper.properties.dump.loglevel]を「INFO」に設定すると、上記のコンフィギュレーションで以下のログ出力が生成されます。
|