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 name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 属性的值添加到文件中:
echo "jim" > name
$ echo "jim" > name
Copy 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 name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 属性的值添加到文件中:
echo "jim" > name
echo "jim" > name
Copy 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 部署。