根据 Liberty 优先规则组合所有相关配置后,如何查看运行时看到的“合并”server.xml?
我的项目的 server.xml 有许多 includes 和可能的一些 configDropins 文件添加到原始 server.xml,构建逻辑将不同的源复制到位。
<server>
<include location="dev.xml" optional="true"/>
<include location="common.xml" />
<!-- ... -->
</server>
/target/liberty/wlp/usr/servers/defaultServer/server.xml
/target/liberty/wlp/usr/servers/defaultServer/configDropins/defaults/quick-start-security.xml
/target/liberty/wlp/usr/servers/defaultServer/configDropins/overrides/liberty-plugin-variable-config.xml
例如采用像 applicationMonitor 这样的配置元素。
<applicationMonitor dropinsEnabled="false" updateTrigger="mbean"/>
如果此元素在各个配置文件中出现多次,每个配置文件中具有不同的属性值,我如何才能看到最终的“合并”值?
使用 Liberty
config
功能提供的 restConnector-2.0
REST 端点。
restConnector-2.0
功能。<server description="my server">
<featureManager>
<feature>restConnector-2.0</feature>
</featureManager>
</server>
<server description="my server">
<quickStartSecurity userName="bob" userPassword="bobpassword" />
<keyStore id="defaultKeyStore" password="keystorePassword"/>
</server description="my server">
启动服务器并访问
https://<host>:<port>/ibm/api/config
端点,例如:https://localhost:9443/ibm/api/config 并使用配置的用户登录:密码 = bob:bobpassword
。
查看 JSON 响应,例如对于
applicationMonitor
之类的东西:
{
"configElementName": "applicationMonitor",
"dropins": "dropins",
"dropinsEnabled": false,
"pollingRate": 500,
"updateTrigger": "mbean"
},
请参阅restConnector-2.0 功能文档了解其他选项。
您不仅会看到在 server.xml 中显式配置的配置元素以及 include 和 configDropins,而且您还可能会看到其他元素,例如未在任何地方显式配置的
<batchPersistence>
。这些可能来自运行时配置管理服务,它可以在“内”层提供与整体配置故事相关的默认值。
欲了解更多信息,请参阅文章: https://openliberty.io/docs/latest/validating-server-connections.html
本文还介绍了如何使用
config
API 查看各个配置元素的值,以及如何对某些元素进行“验证”,例如JDBC 的“测试连接”dataSource
。