目次

wrapper.app.property.<n> プロパティ群

対応バージョン :3.5.57
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

接続が確立された後、Wrapper からバックエンドパイプまたはソケット経由で JVM に送信されるアプリケーション固有のプロパティのリストです。

ユーザーアプリケーションは、すべてのプロパティが受信され、Java 側に設定された後に起動します。 これにより、アプリケーションの起動時にすべてのプロパティが利用可能であることが保証されます。

wrapper.app.property.<n>]プロパティを使用することは、プロセス一覧表示ツールにプレーンテキストで露出してしまう [wrapper.java.additional.<n>]を設定するよりも安全です。 そのため、パスワードやアプリケーションが使用する機密データには、アプリケーションプロパティを使用することを強くお勧めします。

設定ファイルに保存されているデータを保護するためのベストプラクティスは、機密値を含む[wrapper.app.property.<n>]プロパティを別の 「インクルードファイル」に隔離し、制限付きの読み取り権限(管理者または所有者のみなど)を割り当てることです。

さらに、パスワードや機密データが Wrapper のログ出力にプレーンテキストとして出力されるのを防ぐために、%...|mask% 構文を使用してください。

<n> コンポーネント部】

各要素は「wrapper.app.property.」で始まるプロパティ名を持ち、 そのプロパティ名の「<n>」コンポーネント部には、 「1」からカウントアップしていく 整数値のナンバリング数値を入れて指定します。 デフォルトでは、整数値は連番であり、ギャップ(途切れ)は許可されません。 [wrapper.ignore_sequence_gaps]プロパティを任意に設定することでシーケンス内のギャップを許可できます。

設定例
wrapper.app.property.1=mypassword=%secret|mask%

警告

JVM が起動するとすぐに利用可能になるJavaコマンドライン経由で設定されたプロパティとは異なり、 これらのプロパティは Wrapper によって作成されたバックエンドチャネルを介して受信された後にのみ設定されます。 したがって、[wrapper.app.property.<n>]で参照されるプロパティは、Java アプリケーションの文脈内でのみ使用されることを意図しています。

バックエンドチャネルが作成される前に、いくつかのシステムクラスがロードされます。 システムプロパティがこれらのクラスのいずれかによって使用される場合は、 コマンドライン引数として渡されるように[wrapper.java.additional.<n>] で参照する必要があります。

wrapper.app.property.<n>.quotable プロパティ群

対応バージョン :3.6.0
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

プロパティ値に末尾のスペースを含める必要がある場合は、値を引用符で囲うことでそれらを保持できます。 対応する[wrapper.app.property.<n>.quotable]プロパティを「TRUE」に設定すると、これらの引用符は除去されます。

このプロパティのデフォルト値は「FALSE」です。

quotable」(値を引用符で囲う)プロパティが「TRUE」に設定されている場合、 対応する値に保持される実際の引用符は「\」文字でエスケープする必要があり、 バックスラッシュを二重にする必要があります(\\)。 その他の文字のエスケープは許可されていません。

引用符を除去する際、以下の置換が行われます。

  • \\」は、「\」になります
  • \"」は、「"」になります
  • "」は、「」になります
設定例
wrapper.app.property.1=prop1="value with trailing spaces   "
wrapper.app.property.1.quotable=TRUE

wrapper.app.property.<n>.java_version.min プロパティ群

対応バージョン :3.5.57
対応エディション :プロフェッショナル版スタンダード版コミュニティー版 (未対応)
対応プラットフォーム :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

このプロパティを使用すると、Java バージョンが指定された値以上である場合にのみ、インデックス「n」を持つプロパティを追加できます。

デフォルト値は「1.4」 で、これは Wrapper によってサポートされている最も古い JVM バージョンです。 これより低い値は無効であり、Wrapper が停止する原因となります。

値は Java のバージョンに関係なく、「1.major[.minor[_revision]]」または「major[.minor[.revision]]」の形式にすることができます。 これは「java -version」によって返される両方の番号付けスキームをサポートするために行われます。Java 9 より前は最初の形式が使用され、Java 9 以降は2番目の形式が使用されます。

角括弧は、マイナーコンポーネントおよびリビジョンコンポーネントがオプションであることを示します。 片方または両方を未指定のままにすると、これらのプレースホルダーは任意の数値を受け入れます。

1.7 より低い Java バージョンの場合、インデックス「n」のオプションは無視されます。
wrapper.app.property.<n>.java_version.min=1.7
8.0.40 より低い Java バージョンの場合、インデックス「n」のオプションは無視されます。
wrapper.app.property.<n>.java_version.min=8.0.40

警告

wrapper.app.property.<n>.java_version.max プロパティ群

対応バージョン :3.5.57
対応エディション :プロフェッショナル版スタンダード版コミュニティー版 (未対応)
対応プラットフォーム :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

このプロパティを使用すると、Java バージョンが指定された値以下である場合にのみ、インデックス「n」を持つプロパティを追加できます。

デフォルト値は「UNLIMITED」です。

値は Java のバージョンに関係なく、「1.major[.minor[_revision]]」または「major[.minor[.revision]]」の形式にすることができます。 これは「java -version」によって返される両方の番号付けスキームをサポートするために行われます。 Java 9 より前は最初の形式が使用され、Java 9 以降は2番目の形式が使用されます。

角括弧は、マイナーコンポーネントおよびリビジョンコンポーネントがオプションであることを示します。 片方または両方を未指定のままにすると、これらのプレースホルダーは任意の数値を受け入れます。

9.0.1 より大きい Java バージョンの場合、インデックス「n」のオプションは無視されます。
wrapper.app.property.<n>.java_version.max=9.0.1
9 より大きい Java バージョンの場合、インデックス「n」のオプションは無視されます。
wrapper.app.property.<n>.java_version.max=9

警告

wrapper.app.property_file プロパティ

対応バージョン :3.5.57
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

このプロパティは、Java アプリケーションに渡す1つ以上のプロパティを含むファイルを指定する方法を提供します。 これは、プロパティリストを動的に生成する必要がある場合や、インストーラー経由で生成する必要がある場合に非常に便利です。

このファイルで定義されたプロパティは、標準の[wrapper.app.property.<n>]プロパティを 使用して定義されたプロパティのに表示されます。

Wrapper ver. 3.5.23 以降、ファイル内の 環境変数 の参照は展開されます。


【ファイルの記述形式】

ファイルの記述形式はシンプルです。

  • Wrapper 設定ファイルと同様に、 先頭行にエンコーディング宣言を記載しなければなりません。 これは、Wrapper がファイルを読み込む際のエンコードを明示して、ファイルを正しく解釈するために必要です。 もし、このエンコーディング指示行が記述されていない場合、Wrapper は、ログに警告を記録して、処理の試みを続行します。 ファイルで使用されるエンコーディングは、他の設定ファイルで使用されるエンコーディングとは異なる場合があります。
  • 「#」文字はコメント文字として解釈されますので、 プロパティ値に「#」文字を含めるには、値を引用符で囲う("#")か、もう1つの「#」文字でエスケープする必要があります。
  • デフォルトでは、1行につき1つのプロパティしか記述できません。 この挙動は、[wrapper.app.property_file.quotable]プロパティを「TRUE」に設定することで変更できます。 このモードでは、引数は引用符で囲まれていないスペースによって区切られます。 これにより、複数のパラメーターを同じ行に記述できます。 スペースを含む値は引用符で囲う必要があります。これらの引用符はファイル解析中に除去されます。

プロパティファイルの設定例(.quotable=FALSE の場合)
@encoding=UTF-8
# サンプルプロパティ:1行に1つのプロパティ
prop1=Value1
prop2=Value2 with space
prop3=Value3 with space
prop4=Value4

プロパティファイルの設定例(.quotable=TRUE の場合)
@encoding=UTF-8
# サンプルプロパティ:1行に複数のプロパティ
prop1=Value1 prop2="Value2 with space" "prop3=Value3 with space"

# その他の引数
prop4=Value4

注意

Wrapper ver. 3.5.57 から 3.5.60 には「引用符で囲うモード」がありません。 ファイルには1行につき1つのプロパティしか含めることができず、引用符は除去されません。

wrapper.app.property_file.required プロパティ

対応バージョン :3.5.57
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

プロパティファイルが必須かどうかを指定します。 必須でありながら見つからない場合、Wrapper は JVM を起動せずに停止します。 必須でない場合、ファイルが見つからないときは無視されます。

デフォルト値は「TRUE」です。

設定例
wrapper.app.property_file.required=FALSE

wrapper.app.property_file.quotable プロパティ

対応バージョン :3.6.0
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

「TRUE」に設定すると、プロパティファイルに含まれる引用符が除去されます。 これにより、値の区切り文字として引用符を使用できるようになり、単一の行に複数のパラメーターーをリストできます。

また、プロパティ値の先頭または末尾のスペースを保持するための区切り文字として引用符を使用することもできます。

このプロパティのデフォルト値は「FALSE」です。

注意

Wrapper ver. 3.5.57 から 3.5.60 には「引用符で囲うモード」がありません。 ファイルには1行につき1つのプロパティしか含めることができず、引用符は除去されません。

quotable」(値を引用符で囲う)プロパティが「TRUE」に設定されている場合、対応する値に保持される実際の引用符は「\」文字でエスケープする必要があり、 バックスラッシュも二重にする必要があります(\\)。 その他の文字のエスケープは許可されていません。

引用符を除去する際、以下の置換が行われます。

  • \\」は、「\」になります
  • \"」は、「"」になります
  • "」は、「」になります
設定例
wrapper.app.property_file.quotable=TRUE
パラメーターファイル UTF-8 の例
@encoding=UTF-8
prop1=Value1 prop2="Test Value with spaces."

参照: パラメータ