3.2. MicroProfile 配置配置
3.2.1. 在 ConfigSource 管理资源中添加属性 复制链接链接已复制到粘贴板!
您可以将属性直接作为管理资源存储在 config-source 子系统中。
流程
创建 ConfigSource 并添加属性:
/subsystem=microprofile-config-smallrye/config-source=props:add(properties={"name" = "jim"})/subsystem=microprofile-config-smallrye/config-source=props:add(properties={"name" = "jim"})Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. 将目录配置为 ConfigSources 复制链接链接已复制到粘贴板!
当属性作为文件存储在目录中时,file-name 是属性的名称,文件内容是 属性的值。
流程
创建要存储文件的目录:
mkdir -p ~/config/prop-files/
$ mkdir -p ~/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入该目录:
cd ~/config/prop-files/
$ cd ~/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
文件名来存储属性名称 的值:touch name
$ touch nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 属性的值添加到文件中:
echo "jim" > name
$ echo "jim" > nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个 ConfigSource,其中文件名是 属性,文件内容是 属性的值:
/subsystem=microprofile-config-smallrye/config-source=file-props:add(dir={path=~/config/prop-files})/subsystem=microprofile-config-smallrye/config-source=file-props:add(dir={path=~/config/prop-files})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会生成以下 XML 配置:
<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source name="file-props"> <dir path="/etc/config/prop-files"/> </config-source> </subsystem><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 Copied! Toggle word wrap Toggle overflow
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 resources 的 ordinal。
如果顶级目录包含 config_ordinal 文件,则文件中指定的值将 覆盖默认值 ordinal 值。如果具有相同 ordinal 的两个顶级目录包含同一条目,则目录的名称将按字母顺序排序,并使用第一个目录。
先决条件
-
已安装 MicroProfile Config 扩展,并启用了
microprofile-config-smallrye子系统。
流程
- 打开终端。
创建要存储文件的目录:
mkdir -p ~/etc/config/prop-files/
mkdir -p ~/etc/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入您创建的目录:
cd ~/etc/config/prop-files/
cd ~/etc/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
文件名来存储属性名称 的值:touch name
touch nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 属性的值添加到文件中:
echo "jim" > name
echo "jim" > nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 CLI 中运行以下命令,创建一个 ConfigSource,其中 filename 是属性,且文件包含属性值:
/subsystem=microprofile-config-smallrye/config-source=prop-files:add(dir={path=/etc/config, root=true})/subsystem=microprofile-config-smallrye/config-source=prop-files:add(dir={path=/etc/config, root=true})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会导致 XML 配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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})/subsystem=microprofile-config-smallrye/config-source=my-config-source:add(class={name=org.example.MyConfigSource, module=org.example})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令生成
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><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 Copied! Toggle word wrap Toggle overflow
自定义 org.eclipse.microprofile.config.spi.ConfigSource 实施类提供的属性可用于任何 JBoss EAP 部署。
3.2.5. 从 ConfigSourceProvider 类获取 ConfigSource 配置 复制链接链接已复制到粘贴板!
您可以创建并配置自定义 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})/subsystem=microprofile-config-smallrye/config-source-provider=my-config-source-provider:add(class={name=org.example.MyConfigSourceProvider, module=org.example})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 命令为名为 org.example.MyConfigSourceProvider 的实现类创建一个名为
org.example.MyConfigSourceProvider的config-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><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 Copied! Toggle word wrap Toggle overflow
ConfigSourceProvider 实现提供的属性可用于任何 JBoss EAP 部署。