3.2. MicroProfile 配置配置


3.2.1. 在 ConfigSource 管理资源中添加属性

您可以将属性直接作为管理资源存储在 config-source 子系统中。

流程

  • 创建 ConfigSource 并添加属性:

    /subsystem=microprofile-config-smallrye/config-source=props:add(properties={"name" = "jim"})
    Copy to Clipboard Toggle word wrap

3.2.2. 将目录配置为 ConfigSources

当属性作为文件存储在目录中时,file-name 是属性的名称,文件内容是 属性的值。

流程

  1. 创建要存储文件的目录:

    $ mkdir -p ~/config/prop-files/
    Copy to Clipboard Toggle word wrap
  2. 进入该目录:

    $ cd ~/config/prop-files/
    Copy to Clipboard Toggle word wrap
  3. 创建一个 文件名 来存储属性名称 的值:

    $ touch name
    Copy to Clipboard Toggle word wrap
  4. 将 属性的值添加到文件中:

    $ echo "jim" > name
    Copy to Clipboard Toggle word wrap
  5. 创建一个 ConfigSource,其中文件名是 属性,文件内容是 属性的值:

    /subsystem=microprofile-config-smallrye/config-source=file-props:add(dir={path=~/config/prop-files})
    Copy to Clipboard Toggle word wrap

    这会生成以下 XML 配置:

    <subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0">
        <config-source name="file-props">
            <dir path="/etc/config/prop-files"/>
        </config-source>
    </subsystem>
    Copy to Clipboard Toggle word wrap

3.2.3. 将根目录配置为 ConfigSources

您可以使用 root 属性将目录定义为多个 MicroProfile ConfigSource 目录 的根目录

嵌套的 root 属性是 /subsystem=microprofile-config-smallrye/config-source swig 资源的 dir complex 属性的一部分。如果共享同一根目录,这消除了需要指定多个 ConfigSource 目录。

直接根目录中的任何文件都会被忽略。它们将不会用于配置。顶级目录被视为 ConfigSources。任何嵌套的目录也会被忽略。

注意

默认情况下,顶层目录的 ConfigSources 被分配 /subsystem=microprofile-config-smallrye/config-source resourcesordinal

如果顶级目录包含 config_ordinal 文件,则文件中指定的值将 覆盖默认值 ordinal 值。如果具有相同 ordinal 的两个顶级目录包含同一条目,则目录的名称将按字母顺序排序,并使用第一个目录。

先决条件

  • 已安装 MicroProfile Config 扩展,并启用了 microprofile-config-smallrye 子系统。

流程

  1. 打开终端。
  2. 创建要存储文件的目录:

    mkdir -p ~/etc/config/prop-files/
    Copy to Clipboard Toggle word wrap
  3. 进入您创建的目录:

    cd ~/etc/config/prop-files/
    Copy to Clipboard Toggle word wrap
  4. 创建一个 文件名 来存储属性名称 的值:

    touch name
    Copy to Clipboard Toggle word wrap
  5. 将 属性的值添加到文件中:

    echo "jim" > name
    Copy to Clipboard Toggle word wrap
  6. 在 CLI 中运行以下命令,创建一个 ConfigSource,其中 filename 是属性,且文件包含属性值:

    /subsystem=microprofile-config-smallrye/config-source=prop-files:add(dir={path=/etc/config, root=true})
    Copy to Clipboard Toggle word wrap
  7. 这会导致 XML 配置:

    <subsystem
    xmlns="urn:wildfly:microprofile-config-smallrye:2.0">
     <config-source name="prop-files">
       <dir path="/etc/config" root="true"/>
     </config-source>
    </subsystem>
    Copy to Clipboard Toggle word wrap

3.2.4. 从 ConfigSource 类获取 ConfigSource

您可以创建并配置自定义 org.eclipse.microprofile.config.spi.ConfigSource 实施类,以便为配置值提供源。

流程

  • 以下管理 CLI 命令为名为 org.example.MyConfigSource 的实施类创建一个 ConfigSource,它由名为 org.example 的 JBoss 模块提供。

    如果要使用 org.example 模块中的 ConfigSource,请将 < module name="org.eclipse.microprofile.config.api"/> 依赖项添加到 path/to/org/example/main/module.xml 文件。

    /subsystem=microprofile-config-smallrye/config-source=my-config-source:add(class={name=org.example.MyConfigSource, module=org.example})
    Copy to Clipboard Toggle word wrap

    此命令生成 microprofile-config-smallrye 子系统的以下 XML 配置:

    <subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0">
        <config-source name="my-config-source">
            <class name="org.example.MyConfigSource" module="org.example"/>
        </config-source>
    </subsystem>
    Copy to Clipboard Toggle word wrap

自定义 org.eclipse.microprofile.config.spi.ConfigSource 实施类提供的属性可用于任何 JBoss EAP 部署。

您可以创建并配置自定义 org.eclipse.microprofile.config.spi.ConfigSourceProvider 实施,该类注册多个 ConfigSource 实例的实施。

流程

  • 创建 config-source-provider

    /subsystem=microprofile-config-smallrye/config-source-provider=my-config-source-provider:add(class={name=org.example.MyConfigSourceProvider, module=org.example})
    Copy to Clipboard Toggle word wrap

    命令为名为 org.example.MyConfigSourceProvider 的实现类创建一个名为 org.example.MyConfigSourceProviderconfig-source-provider,它由名为 org.example 的 JBoss 模块提供。

    如果要使用 org.example 模块中的 config-source-provider,请将 < module name="org.eclipse.microprofile.config.api"/> 依赖项添加到 path/to/org/example/main/module.xml 文件。

    此命令生成 microprofile-config-smallrye 子系统的以下 XML 配置:

    <subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0">
        <config-source-provider name="my-config-source-provider">
             <class name="org.example.MyConfigSourceProvider" module="org.example"/>
        </config-source-provider>
    </subsystem>
    Copy to Clipboard Toggle word wrap

ConfigSourceProvider 实现提供的属性可用于任何 JBoss EAP 部署。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat