第8章 Thorntail アプリケーションの設定

Thorntail で構築されたアプリケーションで数多くのオプションを設定できます。ほとんどのオプションで適切なデフォルト値がすでに適用されているため、明示的にオプションを変更する必要はありません。

このリファレンスは、設定可能アイテムがすべて完全なリストで、その一部を導入した分に分類されます。アプリケーションが使用する部分に関連する項目のみが関係します。

8.1. システムプロパティー

システムプロパティーを使用したアプリケーションの設定には、短期的なアクティビティーのテスト、デバッグなどの利点があります。

8.1.1. 一般的に使用されるシステムプロパティー

これは、アプリケーションで使用する可能性のあるシステムプロパティーの網羅的な一覧です。

一般的なシステムプロパティー

thorntail.bind.address

サーバーをバインドするインターフェース

デフォルト

0.0.0.0

thorntail.port.offset

グローバルポート調整

デフォルト

0

thorntail.context.path

デプロイされたアプリケーションのコンテキストパス

デフォルト

/

thorntail.http.port

HTTP サーバーのポート

デフォルト

8080

thorntail.https.port

HTTPS サーバーのポート

デフォルト

8443

thorntail.debug.port

指定した場合には、Thorntail プロセスが指定のポートでデバッグ用に一時停止します。

このオプションは、JAR ファイル実行時ではなく、mvn thorntail:run コマンドを使用し てアプリケーションを起動する場合にのみ利用できます。JAR ファイルを実行するには、通常の Java デバッグエージェントパラメーターが必要です。

デフォルト

 
thorntail.io.tmpdir

一時ディレクトリー Thorntail は、uberjar およびその他の一時ファイルの展開に使用します。

デフォルト

java.io.tmpdir

データソース関連のシステムプロパティー

JDBC ドライバーの自動検出では、以下のプロパティーを使用してデータソースを設定します。

thorntail.ds.name

データソースの名前

デフォルト

ExampleDS

thorntail.ds.username

データベースにアクセスするためのユーザー名

デフォルト

driver-specific

thorntail.ds.password

データベースにアクセスするためのパスワード

デフォルト

driver-specific

thorntail.ds.connection.url

JDBC 接続 URL

デフォルト

driver-specific

注記

利用可能なプロパティーの完全なセットについては、各分、および SwarmProperties.javaクラスの javadocs を参照してください。

8.1.2. システムプロパティーを使用したアプリケーション設定

設定プロパティーはドット表記を使用して表示され、アプリケーションが Maven プラグイン設定の明示的な設定を使用するか、またはアプリケーションの実行時にコマンドラインで消費する Java システムプロパティー名として使用するのに適しています。

名前に KEY パラメーターがあるプロパティーは、その名前のそのセグメントにキーまたは識別子を指定する必要があることを示します。

KEY パラメーターを使用した項目の設定

thorntail.undertow.servers.KEY.default-host として記述された設定アイテムは、設定が特定の名前付きサーバーに適用されることを示します。

実際には、このプロパティーは、デフォルト として知られるサーバーの thorntail.undertow.servers.default. default -host などになります。

8.1.3. Maven プラグインを使用したシステムプロパティーの設定

Maven プラグインを使用したプロパティーの設定は、Thorntail アプリケーションの単一の実行の設定アイテムを一時的に変更するのに便利です。

注記

アプリケーションの POM ファイルの設定は永続的ですが、アプリケーションの長期設定に使用することは推奨されません。その代わりに、YAML 設定ファイル を使用します。

Maven プラグインを使用して明示的な設定値をデフォルトとして設定する場合は、アプリケーションの pom.xml ファイルの < configuration > ブロックに < properties > セクションを追加します。

前提条件
  • Thorntail ベースのアプリケーションおよび POM ファイル
手順
  1. アプリケーションの POM ファイルで、変更する設定を見つけます。
  2. io.thorntail:thorntail-maven-plugin アーティファクトの設定でブロックを挿入します。以下に例を示します。

    <build>
      <plugins>
        <plugin>
          <groupId>io.thorntail</groupId>
          <artifactId>thorntail-maven-plugin</artifactId>
          <version>2.7.3.Final-redhat-00001</version>
          <configuration>
            <properties>
              <thorntail.bind.address>127.0.0.1</thorntail.bind.address>
              <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
            </properties>
          </configuration>
        </plugin>
      </plugins>
    </build>

    上記の例では、thorntail.bind.address プロパティーが 127.0.0.1 に設定され、java.net.preferIPv4Stack プロパティーは true に設定されます。

8.1.4. コマンドラインでシステムプロパティーの設定

Maven プラグインを使用したプロパティーの設定は、Thorntail アプリケーションの単一の実行の設定アイテムを一時的に変更するのに便利です。

設定項目を YAML 設定ファイルに設定する前に、環境固有の設定や実験を行うことができます。

コマンドラインでプロパティーを使用するには、コマンドラインパラメーターとして Java バイナリーに渡します。

前提条件
  • アプリケーションが含まれる JAR ファイル
手順
  1. 端末アプリケーションで、アプリケーション JAR ファイルのあるディレクトリーに移動します。
  2. Java バイナリーを使用してアプリケーション JAR ファイルを実行し、プロパティーとその値を指定します。

    $ java -Dthorntail.bind.address=127.0.0.1 -jar myapp-thorntail.jar

    この例では、値 127.0.0.1thorntail.bind.address というプロパティーにします。

8.1.5. 外部 JDBC ドライバーの指定

アプリケーションを uber JAR または hollow JAR として実行する場合は、thorntail.classpath システムプロパティーを使用して JDBC ドライバー JAR を指定できます。こうすることで、アプリケーションでドライバーをパッケージ化する必要はありません。

thorntail.classpath プロパティーは、; (セミコロン)で区切られた JAR ファイルへの 1 つ以上のパスを受け入れます。指定の JAR ファイルがアプリケーションのクラスパスに追加されます。

前提条件
  • アプリケーションが含まれる JAR ファイル
手順
  1. 端末アプリケーションで、アプリケーション JAR ファイルのあるディレクトリーに移動します。
  2. Java バイナリーを使用してアプリケーション JAR ファイルを実行し、JDBC ドライバーを指定します。

    $ java -Dthorntail.classpath=./h2-1.4.196.jar -jar microprofile-jpa-hollow-thorntail.jar example-jpa-jaxrs-cdi.war