第8章 設定プロファイルの使用
お使いの環境に応じて、異なる設定プロファイルを使用できます。設定プロファイルを使用すると、同じファイルに複数の設定を含めることができ、プロファイル名を使用してそれらを選択できます。Red Hat ビルドの Quarkus には 3 つの設定プロファイルがあります。さらに、独自のカスタムプロファイルを作成することもできます。
Quarkus のデフォルトプロファイル
- dev: 開発モードでのアクティブ化
- test: テストの実行時のアクティブ化
- prod: 開発またはテストモードで実行されていない場合のデフォルトプロファイル
前提条件
- Quarkus Maven プロジェクトがある。
手順
Java リソースファイルを開き、以下のインポートステートメントを追加します。
import io.quarkus.runtime.configuration.ProfileManager;
現在の設定プロファイルを表示するには、
ProfileManager.getActiveProfile()
メソッドを呼び出すログを追加します。LOGGER.infof("The application is starting with profile `%s`", ProfileManager.getActiveProfile());
注記@ConfigProperty("quarkus.profile")
メソッドを使用して、現在のプロファイルにアクセスすることはできません。
8.1. カスタム設定プロファイルの設定
設定プロファイルは、必要なだけ作成できます。同じファイルに複数の設定を含めることができ、プロファイル名を使用してそれらを選択できます。
手順
カスタムプロファイルを設定するには、
application.properties
ファイルのプロファイル名で設定プロパティーを作成します。<key>
はプロパティー名に、<value>
はプロパティーの値に、そして<profile>
はプロファイル名に置き換えます。%<profile>.<key>=<value>
以下の設定例では、
quarkus.http.port
の値はデフォルトで 9090 で、dev
プロファイルがアクティブ化されると 8181 になります。quarkus.http.port=9090 %dev.quarkus.http.port=8181
プロファイルを有効にするには、以下のいずれかの方法を使用します。
quarkus.profile
システムプロパティーを設定します。quarkus.profile
システムプロパティーを使用してプロファイルを有効にするには、以下のコマンドを入力します。mvn -Dquarkus.profile=<value> quarkus:dev
QUARKUS_PROFILE
環境変数を設定します。環境変数を使用してプロファイルを有効にするには、以下のコマンドを入力します。
export QUARKUS_PROFILE=<profile>
注記システムプロパティーの値は環境変数の値よりも優先されます。
アプリケーションを再パッケージしてプロファイルを変更するには、以下のコマンドを入力します。
./mvnw package -Dquarkus.profile=<profile> java -jar target/myapp-runner.jar
以下の例は、
prod-aws
プロファイルをアクティブ化するコマンドを示しています。./mvnw package -Dquarkus.profile=prod-aws java -jar target/myapp-runner.jar
デフォルトの Quarkus アプリケーションのランタイムプロファイルは、アプリケーションのビルドに使用されるプロファイルに設定されます。Red Hat ビルドの Quarkus は、環境モードに応じてプロファイルを自動的に選択します。たとえば、JAR としてアプリケーションを実行中の場合、Quarkus は prod
モードになります。