第 8 章 使用配置配置集

您可以根据您的环境使用不同的配置配置集。配置配置集可让您在同一文件中有多个配置,并使用配置集名称在它们之间进行选择。Red Hat build of Quarkus 有三个配置配置集。另外,您可以创建自己的自定义配置集。

Quarkus 默认配置集:

  • Dev: 在开发模式中激活
  • 测试 :运行测试时激活
  • 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&gt; 是属性的名称,< value&gt; 是属性值,& lt;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>
        注意

        system 属性值优先于环境变量值。

  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 build of Quarkus 会自动根据您的环境模式选择一个配置集。例如,当您的应用程序以 JAR 身份运行时,Quarkus 处于 prod 模式。