第8章 設定プロファイルの使用

お使いの環境に応じて、異なる設定プロファイルを使用できます。設定プロファイルを使用すると、同じファイルに複数の設定を含めることができ、プロファイル名を使用してそれらを選択できます。Red Hat ビルドの Quarkus には 3 つの設定プロファイルがあります。さらに、独自のカスタムプロファイルを作成することもできます。

Quarkus のデフォルトプロファイル

  • dev: 開発モードでのアクティブ化
  • test: テストの実行時のアクティブ化
  • prod: 開発またはテストモードで実行されていない場合のデフォルトプロファイル

前提条件

  • Quarkus Maven プロジェクトがある。

手順

  1. Java リソースファイルを開き、以下のインポートステートメントを追加します。

    import io.quarkus.runtime.configuration.ProfileManager;
  2. 現在の設定プロファイルを表示するには、ProfileManager.getActiveProfile() メソッドを呼び出すログを追加します。

    LOGGER.infof("The application is starting with profile `%s`", ProfileManager.getActiveProfile());
    注記

    @ConfigProperty("quarkus.profile") メソッドを使用して、現在のプロファイルにアクセスすることはできません。

8.1. カスタム設定プロファイルの設定

設定プロファイルは、必要なだけ作成できます。同じファイルに複数の設定を含めることができ、プロファイル名を使用してそれらを選択できます。

手順

  1. カスタムプロファイルを設定するには、application.properties ファイルのプロファイル名で設定プロパティーを作成します。<key> はプロパティー名に、<value> はプロパティーの値に、そして <profile> はプロファイル名に置き換えます。

     %<profile>.<key>=<value>

    以下の設定例では、quarkus.http.port の値はデフォルトで 9090 で、dev プロファイルがアクティブ化されると 8181 になります。

    quarkus.http.port=9090
    %dev.quarkus.http.port=8181
  2. プロファイルを有効にするには、以下のいずれかの方法を使用します。

    • quarkus.profile システムプロパティーを設定します。

      • quarkus.profile システムプロパティーを使用してプロファイルを有効にするには、以下のコマンドを入力します。

        mvn -Dquarkus.profile=<value> quarkus:dev
    • QUARKUS_PROFILE 環境変数を設定します。

      • 環境変数を使用してプロファイルを有効にするには、以下のコマンドを入力します。

        export QUARKUS_PROFILE=<profile>
        注記

        システムプロパティーの値は環境変数の値よりも優先されます。

  3. アプリケーションを再パッケージしてプロファイルを変更するには、以下のコマンドを入力します。

    ./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 モードになります。