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. 从 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.4. 从 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 部署使用。
其他资源
- 有关如何向 JBoss EAP 服务器添加全局模块的详情,请参考 JBoss EAP 配置指南中的 定义 全局模块。