第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 ファイル
手順
- アプリケーションの POM ファイルで、変更する設定を見つけます。
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 ファイル
手順
- 端末アプリケーションで、アプリケーション JAR ファイルのあるディレクトリーに移動します。
Java バイナリーを使用してアプリケーション JAR ファイルを実行し、プロパティーとその値を指定します。
$ java -Dthorntail.bind.address=127.0.0.1 -jar myapp-thorntail.jar
この例では、値
127.0.0.1
をthorntail.bind.address
というプロパティーにします。
8.1.5. 外部 JDBC ドライバーの指定
アプリケーションを uber JAR または hollow JAR として実行する場合は、thorntail.classpath
システムプロパティーを使用して JDBC ドライバー JAR を指定できます。こうすることで、アプリケーションでドライバーをパッケージ化する必要はありません。
thorntail.classpath
プロパティーは、;
(セミコロン)で区切られた JAR ファイルへの 1 つ以上のパスを受け入れます。指定の JAR ファイルがアプリケーションのクラスパスに追加されます。
前提条件
- アプリケーションが含まれる JAR ファイル
手順
- 端末アプリケーションで、アプリケーション JAR ファイルのあるディレクトリーに移動します。
Java バイナリーを使用してアプリケーション JAR ファイルを実行し、JDBC ドライバーを指定します。
$ java -Dthorntail.classpath=./h2-1.4.196.jar -jar microprofile-jpa-hollow-thorntail.jar example-jpa-jaxrs-cdi.war