当我们在 Apache Felix Web OSGi 控制台的配置选项卡中更新组件的任何配置时,这些配置设置保存在哪里?这是针对 AEM 6.0 或更高版本。
最佳答案
手动保存的配置设置存储在 crx-quickstart/launchpad/config
中。目录(在本地文件系统的 AEM 安装文件夹中),最重要的是,作为 .config
位于 /apps/system/config
的内容存储库中的文件.
例如,如果您正在寻找 com.example.MyComponent
的配置,您可以在 crx-quickstart/launchpad/config/com/example/MyComponent.config
中找到它作为文本文件(在本地文件系统中)和在 /apps/system/config/com.example.MyComponent.config
在您的内容存储库中。
当您在 OSGi 控制台中手动更改设置时,这两个位置的文件会更新。
在 AEM 中,您还可以将配置存储在类型为 sling:OsgiConfig
的 JCR 节点中。 .当您手动保存配置时,这些不会被创建或更新,但它们提供了一种将配置作为内容管理的简洁方式。
当 AEM 查找配置时,将使用以下解析顺序:
/apps/*/config
下的节点,无论是属性文件还是带有节点 jcr:primaryType
的 JCR 节点的 sling:OsgiConfig
sling:OsgiConfig
的节点下 /libs/*/config
,这些是 AEM 附带的组件的 OOTB 定义 .config files
来自 <aem-installation-directory>/crx-quickstart/launchpad/config/
在本地文件系统上。 根据 Apache Sling JCR 安装程序的 OSGi 配置,
sling:OsgiConfig
当您手动更改配置时,节点可以被写回。还有许多设置会影响所述配置的查找,因此最好熟悉此配置。请查看 official documentation以获得更全面的信息。
如果您尝试将配置存储在
sling:OsgiConfig
中节点按预期工作,并且您不确定是否已将同一服务的另一个配置缓存在某处,以下是在 AEM 6.4 中对我始终有效的一系列步骤:sling:OsgiConfig
您刚刚创建的节点 configMgr
,找到相关服务并删除配置。 sling:OsgiConfig
节点(我通常将它们保存在 CRX 包中,我可以简单地重新安装)关于osgi - 在 OSGi 控制台中进行的配置保存在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339618/