インデックス

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

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

このプロパティには、アプリケーションのメインメソッドへ引き渡すパラメーターを設定します。

wrapper.java.mainclass]プロパティの値が 「org.tanukisoftware.wrapper.WrapperSimpleApp」であるとき、 アプリケーションへの最初のパラメーターは、ご利用のメインメソッドを含むクラス名でなければなりません。 その後、他の全てのパラメーターが、アプリケーションのメインメソッドへ順に引き渡されます。 さらに詳しくは、インテグレーション方法の概要を参照ください。

<n>」コンポーネント部:

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


個別のパラメーターエントリ:

各プロパティで 1 つのパラメーターのみを定義することが重要です。

次は単一のパラメーターとして解釈されます。
wrapper.app.parameter.1=-c conf/myconffile.conf

次は2つのパラメーターとして解釈されます。
wrapper.app.parameter.1=-c
wrapper.app.parameter.2=conf/myconffile.conf


引用符:

Wrapper 3.6.0 以上のバージョン

Wrapper ver. 3.6.0 以降、特殊文字の扱いが変更され、すべてのプラットフォーム間で一貫性が確保されるようになりました。 ほとんどの場合、Java アプリケーションが受け取ることを意図したとおりにパラメーター値を記述できます。

ただし、先頭または末尾のスペースは例外です。これらのスペースは通常、プロパティ値から削除されます。 これらのスペースを保持するには、値を引用符で囲む必要があります。 対応する「quotable」プロパティが「TRUE」に設定されている場合、これらの引用符は削除されます。 値に引用符自体を保持するには、「\」文字でエスケープします。バックスラッシュも二重にする必要があります(「\\」)。 その他の文字はエスケープできません。

引用符を削除する場合、次の変更のみが適用されます。

  • \\」は、「\」になります
  • \"」は、「"」になります
  • "」は、「」になります
設定例:
wrapper.app.parameter.1="  my arg"
wrapper.app.parameter.1.quotable=TRUE

Wrapper 3.6.0 未満のバージョン

Wrapper の古いバージョンでは、引用符の扱い方がプラットフォームによって異なります。 Windows では、Java プロセスはコマンドラインを使用して作成されますが、スペースを含む引数は引用符で囲む必要があります。 プロセスの起動時に、コマンドラインから引用符は自動的に削除されます。 一方、Linux では配列が使用され、引数は直接渡されます。

Windows の挙動をシミュレートし、プラットフォーム間で同じ設定を使用するには、 特定のパラメーターに引用符削除フラグを設定することができます(stripquotes プロパティ = TRUE)。 このフラグは Unix でのみ使用され、パラメーターを JVM に渡す前に引用符を削除することを指定します。

引用符を取り除くときは、以下の置き換えが行われます。 その他の文字は変更されません。

  • \\」は、「\」になります
  • \"」は、「"」になります
  • "」は、「」になります

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

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

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

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

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

引用符を削除すると、次の置換が行われます。

  • \\」は、「\」になります
  • \"」は、「"」になります
  • "」は、「」になります
設定例:
wrapper.app.parameter.1="  param1"
wrapper.app.parameter.1.quotable=TRUE
wrapper.app.parameter.2="  param2 with\"quotes\""
wrapper.app.parameter.2.quotable=TRUE

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

対応バージョン :3.5.17 (No longer used as of 3.6.0)
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :Windows (未対応)Mac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

警告

Wrapper ver. 3.6.0 以降、このプロパティは不要になったため無効になりました。 「stripquotes」でマークされた値は、バックスラッシュ (\) と引用符 (") をエスケープしないように修正する必要があります。

もし、1つの[wrapper.app.parameter.<n>]の値は引用符を含むと、Windows 上では 引用符に囲まれている内容が1つの要素として Java アプリケーションへ引き渡されます。 しかし、UNIX システム上では、引用符が引数の一部として追加されます。 殆どの場合、これは UNIX での正しい挙動ではありませんが、下位互換性を維持するためにそうなっています。

wrapper.app.parameter.<n>.stripquotes]プロパティは、 Wrapper にUNIX 上で自動的にその引用符を取り除くようにします。 Windows 上ではこのプロパティは無視されます。

デフォルトでは [wrapper.app.parameter.default.stripquotes]プロパティの値に設定され、このプロパティ自体はデフォルトで「FALSE」に設定されます。

引用符を削除すると、次の置換が行われます。 その他の文字は変更されません。

  • \\」は、「\」になります
  • \"」は、「"」になります
  • "」は、「」になります
設定例:
wrapper.app.parameter.1="parm1"
wrapper.app.parameter.1.stripquotes=TRUE
wrapper.app.parameter.2=parm=\"value\"
wrapper.app.parameter.2.stripquotes=TRUE

wrapper.app.parameter.default.stripquotes プロパティ

対応バージョン :3.5.17 (No longer used as of 3.6.0)
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :Windows (未対応)Mac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

警告

As of version 3.6.0 以降、このプロパティは不要になったため無効になりました。 「stripquotes」でマークされた値は、バックスラッシュ (\) と引用符 (") をエスケープしないように修正する必要があります。

すべての[wrapper.app.parameter.<n>]プロパティ値に対して同じ動作をさせたい場合に、 UNIX でのデフォルトの引用符削除動作を変更できるようにします。 デフォルト値は、「FALSE」です。 Windows 上では、このプロパティは無視されます。

設定例:
wrapper.app.parameter.default.stripquotes=FALSE

wrapper.app.parameter_file プロパティ

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

このプロパティで、一つ、若しくは複数のパラメーターを含むファイルを指定して、起動時に JVM へ引き渡すことが可能です。 これは、パラメーターリストを動的に生成する必要がある場合や、インストーラー経由で生成する必要がある場合に非常に便利です。

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

Wrapper ver. 3.5.23 より、バージョン 3 以降では、ファイル内のすべての環境変数参照が展開されます。


ファイルの記述形式:

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

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

パラメーターファイルの設定例(.quotable=FALSE を使用):
@encoding=UTF-8
# パラメーターの例: 1行につき1つのパラメーター
param1
param2 スペースを含む
param3
param4

パラメーターファイルの設定例(.quotable=TRUE を使用):
@encoding=UTF-8
# Example parameters: 1行に複数のパラメーター
param1 "param2 スペースを含む" param3

# その他のパラメーター
param4

注意

Wrapper ver. 3.6.0 未満のバージョン では、「引用符で囲うモード」が存在せず、1 行に複数のパラメーターが常に許可されます。

いずれかの値にスペースを含む必要がある場合、 ファイルがすべてのプラットフォームで一貫して動作することを確認するために、 以下のルールに従って引用符を追加する必要があります。

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

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

このプロパティには、パラメーターファイルが必要かどうか設定されます。 必要な時にそのファイルが検出できない場合、Wrapper は JVM を起動せず、停止します。 必要でない場合は検出されなくても無視されます。

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

設定例:
wrapper.app.parameter_file.required=FALSE

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

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

「TRUE」に設定すると、パラメーターファイルに含まれる引用符が削除されます。 これにより、引用符を値の区切り文字として使用し、複数のパラメーターを1行に列挙できるようになります。

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

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

警告

Wrapper ver. 3.6.0 未満のバージョン では、「引用符で囲うモード」が存在せず、1 行に複数のパラメーターが常に許可されます。

いずれかの値にスペースを含む必要がある場合、 ファイルがすべてのプラットフォームで一貫して動作することを確認するために、 以下のルールに従って引用符を追加する必要があります。

以下の例では、Wrapper 3.6.0 未満のバージョンでは、この行は3つの異なるパラメーターとして解釈されていました。 Wrapper ver. 3.6.0 以降では、[wrapper.java.additional_file.quotable]プロパティが「TRUE」に設定されていない限り、 引用符を含む単一のパラメーターとして解釈されます。

"parameter 1" "parameter 2" parameter3

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

引用符を削除すると、次の置換が行われます。

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

wrapper.app.parameter_file.stripquotes プロパティ

対応バージョン :3.5.17 (No longer used as of 3.6.0)
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :Windows (未対応)Mac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

警告

Wrapper ver. 3.6.0 以降、このプロパティは不要になったため無効になりました。 「stripquotes」でマークされた値は、バックスラッシュ (\) と引用符 (") をエスケープしないように修正する必要があります。

プラットフォームによって、スペースを含むパラメーターの扱いが異なります。 特定の設定を一貫して動作させるには、これらの値は常に引用符で囲む必要があります。 Windows では、値はそのまま使用されますが、UNIX プラットフォームでは、コマンドラインが パラメーターリストに分割されるため、引用符は削除されます。

ほとんどの場合、これらの引用符を削除する必要があります。 デフォルト値は、「FALSE」です。

設定例:
wrapper.app.parameter_file.stripquotes=FALSE
UTF-8 パラメーターファイルの記述例:
@encoding=UTF-8
-DTEST1=Value1 -DTEST2="Test Value with spaces."

wrapper.app.parameter.backend プロパティ

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

このプロパティを「TRUE」に設定すると、コマンドラインではなくバックエンド経由でアプリケーションパラメーターを渡すことができます。

アプリケーション パラメーターに機密データが含まれている場合、 Wrapper では、コマンドラインにデータが表示されないようにするために、このプロパティを「TRUE」に設定する必要があります。

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

設定例:
wrapper.app.parameter.backend=TRUE

参照: パラメータ