インデックス

wrapper.java.additional.<n> プロパティ群

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

このプロパティには、アプリケーションを起動するとき、Java へ引き渡す Java パラメータの追加を設定します。 アプリケーション用のパラメータではなく、むしろ JVM 向けのパラメータです。

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

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

設定例:
wrapper.java.additional.1=-server
wrapper.java.additional.2=-Dprop=TRUE

設定のポイントは、各プロパティごとに JVM へ引き渡す引数を1つずつを定義します。 引数値にスペース(空白)を含める必要がある場合には、 下記の例のように引用符で囲む必要があります。

設定例(誤り):
wrapper.java.additional.1=-server -Dprop=TRUE

注意

wrapper.java.detect_debug_jvm]プロパティは「TRUE」に設定されているときに、もし [wrapper.java.additional.<n>] プロパティの一つが「-Xdebug」に設定されている場合、Wrapper は、JVM がデバッガを利用していると見なし、一部のタイムアウトを無視します。

もし、Java の追加パラメータを動的に変更したい場合、いくつかの方法があります。 1つ目は、インクルードファイル(カスケード形式)を利用して、JVM オプションと一緒に[wrapper.java.additional.<n>]プロパティのリストを含む生成されたコンフィギュレーションファイルを追加する方法です。 あるいは、[wrapper.java.additional_file]プロパティを使用してプロパティなしで JVM オプションを一覧表示するパラメータファイルを参照することもできます。 最後に、Wrapper を起動するときにコマンドラインプロパティとして[wrapper.java.additional.<n>]プロパティを渡すことができます。

引数を要する Java オプションの特例

Java 9 は複数の引数で指定されるオプション( --module-path や --add-modules など)を導入しました。 通常、引数はオプション名と空白スペースで区切られますが、 [wrapper.java.additional.<n>]プロパティの値に空白スペースが含まれている場合、 区切り文字ではなく引数値の一部として解釈されます。 それを解決する方法の一つとしてはオプション名と引数値空白スペースの代わりに等号「=」で区切ることです。

wrapper.java.additional.1=--add-modules=MODULE1,MODULE2

これは、長いオプション名('--'で始まるオプション)でしか使用ができず、 同等の短いオプション名で使用できません。 例えば、「-p=<PATH>」は使用できません(「-p」が「--module-path」の同等の短いオプション名)。

空白スペースと同等の短いオプション名の両方を利用できる別の方法とは、JDK_JAVA_OPTIONS の環境変数を利用することです。 JVM はこの変数の内容をコマンドラインのオプションに追加します。 次のシンタックスで Wrapper コンフィギュレーションファイルに設定できます:

set.JDK_JAVA_OPTIONS=--add-modules MODULE1,MODULE2

ただし、[wrapper.java.command.loglevel] プロパティを使用して Java コマンドラインを出力するときに、JDK_JAVA_OPTIONS のコンテンツを見ることができません。なぜかと言うと、それは起動時のみに JVM によって解析されるからです。

長いオプション名や JDK_JAVA_OPTIONS 変数の詳細については、Oracle 社のウェブサイトより確認できます。

wrapper.java.additional.<n>.stripquotes プロパティ

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

もし[wrapper.java.additional.<n>]プロパティ値に引用符が含まれている場合、 Windows 上で、その引用符で囲まれた値が1つの引数として、JVM へ引き渡されます。 しかしながら、UNIX 上ではその引用符も引数値の一部として解釈されます。 ほとんどの場合、UNIX 上で正しい挙動ではありませんが、逆互換性の都合で、そのように維持されています。

そこで、[wrapper.java.additional.<n>.stripquotes]プロパティを利用して、 UNIX 上で余分な引用符を自動的に取り除くことを有効にできます。 このプロパティは、Windows 上では無視されます。

このプロパティのデフォルト値は、[wrapper.java.additional.default.stripquotes] プロパティの値(そのデフォルト値は「FALSE」)です。

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

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

設定例:
wrapper.java.additional.1.stripquotes=FALSE

引用符を取り除く際に、次のように文字が置き換えられます。 引用符以外の文字は、そのまま残ります。

  • '\\'」は、「'\'」になります
  • '\"'」は、「'"'」になります
  • '"'」は、「''」になります
設定例:
wrapper.java.additional.1=-server
wrapper.java.additional.2=-Dprop=TRUE
wrapper.java.additional.3=-Dmyapp.data="../MyApp Home"
wrapper.java.additional.3.stripquotes=TRUE

wrapper.java.additional.default.stripquotes プロパティ

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

wrapper.java.additional.<n>]プロパティに設定した全ての値に対して、 UNIX 上で引用符を取り除くのか、デフォルト動作を指定することができます。 デフォルト値は「FALSE」です。 このプロパティは、Windows 上では無視されます。

設定例:
wrapper.java.additional.default.stripquotes=FALSE

wrapper.java.additional.<n>.java_version.min プロパティ

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

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

デフォルト値は「1.4」で、Wrapper がサポートする最も古い JVM バージョンです。 それより低い値であれば、Wrapper が終了します。

値は、Java バージョンに関わらず、「1.major[.minor[_revision]]」あるいは「major[.minor[.revision]]」のフォーマットを使います。 これは、「java -version」によって返された両方のナンバリングスキームをサポートするために行われます。 Java 9 以前では、最初のフォーマットが使用されていましたが、Java 9 以上では最後のフォーマットが使用されます。

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

インデックス「n」のオプションは Java バージョン 1.7 以下で無視される例:
wrapper.java.additional.<n>.java_version.min=1.7
インデックス「n」のオプションは Java バージョン 8.0.40 以下で無視される例:
wrapper.java.additional.<n>.java_version.min=8.0.40

警告

wrapper.java.additional.<n>.java_version.max プロパティ

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

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

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

値は、Java バージョンに関わらず、「1.major[.minor[_revision]]」あるいは「major[.minor[.revision]]」のフォーマットを使います。 これは、「java -version」によって返された両方のナンバリングスキームをサポートするために行われます。 Java 9 以前では、最初のフォーマットが使用されていましたが、Java 9 以上では最後のフォーマットが使用されます。

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

インデックス「n」のオプションは Java バージョン 9.0.1 以上で無視される例:
wrapper.java.additional.<n>.java_version.max=9.0.1
インデックス「n」のオプションは Java バージョン 9 以上で無視される例:
wrapper.java.additional.<n>.java_version.max=9

警告

wrapper.java.additional_file プロパティ

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

一部のケースでは、Wrapper コンフィギュレーションファイル内に Java パラメータをリスト化すると、 不便な場合もあります。 このプロパティで、一つまたは複数のパラメータを含むファイルを指定して、起動時に JVM へ引き渡すことが可能です。 これは、インストーラ経由または直接的にパラメータリストを生成する必要がある場合にとても便利です。

標準の[wrapper.java.additional.<n>]プロパティで定義されたものが先で、 その後に、このファイル定義によるパラメータが適用されます。

Wrapper バージョン 3.2.23 から、ファイルの環境変数参照が拡大されます。

注意

ファイル名に WRAPPER_JAVA_VERSION の環境変数を含めると異なる Java のバージョンを対象にすることが出来ます。name name of the file.

パラメータファイルの記述形式:

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

  • まず、Wrapper コンフィギュレーションファイルと同様に、 一行目にエンコードディレクティブを記載しなければなりません。 これは、Wrapper がファイルを読み込む際のエンコードを明示して、 ファイルを正しく解釈するために必要です。 もし、このディレクティブ行が記述されていない場合、Wrapper は、 ログに警告を記録して、処理の試みを続けます。 このファイルで利用されているエンコードが、 他のコンフィギュレーションファイルのエンコードとは異なる場合もあります。
  • 各パラメータをスペースで区切って、一行に複数のパラメータを書くことができます。
  • パラメータを複数行に分けて記述することも可能です。
  • 「#」記号は、コメント文字として解釈されますので、 プロパティ値に「#」記号を含める場合には、引用符で囲うか("#")、あるいはエスケープ文字として「#」を2つ書きます(##)。
  • 引数値にスペース(空白)を含める必要がある場合には、 クロスプラットフォーム上でも一貫して動作するように、 下記の例のように引用符で囲む必要があります。
パラメータファイル UTF-8 記述例:
#encoding=UTF-8
# パラメータ記述例:一行に複数のパラメータをスペース(空白)区切りで
-DTEST1=Value1 -DTEST2=Value2

# 行を分けてパラメータを追記
-DTEST3=Value3

wrapper.java.additional_file.required プロパティ

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

Java 追加ファイルが必要かどうか指定します。もし、必要の場合で検出できない場合、 Wrapper は、JVM を開始せず停止します。必要ではない場合は、ファイルは検出不可の場合は無視されます。

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

設定例:
wrapper.java.additional_file.required=FALSE

wrapper.java.additional_file.stripquotes プロパティ

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

異なるプラットフォームごとに、スペース(空白)を含むパラメータの取り扱い方法が異なります。 一貫性を持たせコンフィギュレーションを正しく動かすために、 その引数(プロパティ値)を引用符で常に囲む必要があります。 Windows 上ではそのまま扱われ問題ありませんが、 UNIX 上では、コマンドラインがパラメータリストに入り込むため、引用符は取り除かれます。

ほとんど全てのケースにおいて、引用符を取り除くことを希望する方が多いでしょう。 このプロパティのデフォルト値は「FALSE」です。

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

使用例

インテグレーション方法

下記のページでは Java アプリケーションに Java Service Wrapper をインテグレーション(統合化)する4つの異なる手法を説明します。 各手法は、「wrapper.java.additional.<n>」プロパーティを利用するメモリー、クラス、ライブラリなどのパスを設定する実施例の例示されています。

JMX 制限

「wrapper.java.additional.<n>」プロパティは VisualVM や JConsole などの監視ツールを設定するためにも使用できます。

Java 最大メモリー制限

Wrapper は、JVM が使用できるメモリー容量を制限するいくつかのプロパティーを提供しています。 そのプロパティの代わりに「wrapper.java.additional.<n>」プロパティを利用しても 同じ効果が得られます。 詳細については下記のページをご参照ください。