场景:/ libs / * / config和/ apps / * / config下存在相同的配置参数,并在两个位置以及Felix控制台中进行了修改。
在运行期间,不知何故Felix控制台配置优先。怎么样?我的理解是/ apps应该优先。任何观点。
答案 0 :(得分:3)
你是对的。看到 http://docs.adobe.com/docs/en/cq/current/deploying/configuring_osgi.html#Configuration%20Details声明:
使用以下优先顺序:
- /apps/*/config下的存储库节点,类型为sling:OsgiConfig或属性文件(CHECK)
- 类型为sling的存储库节点:/ libs / * / config ....下的OsgiConfig(ootb defns)
- 本地文件系统上来自/ crx-quickstart / launchpad / config / ....的任何.config文件。
醇>这意味着/ libs中的通用配置可以被a掩盖 / apps中的项目特定配置。
配置节点run-mode specific?如果运行模式不匹配,则可以解释为什么应用程序下的节点未应用:
由于相同的配置参数可以位于多个位置, 系统:
- 搜索吊索类型的所有节点:OsgiConfig
- 根据服务名称
进行过滤- 根据运行模式过滤
在上述文档中也提到过,如果在系统运行时进行了更改,则以下优先顺序适用:
- 在Web控制台中修改配置将立即生效,因为它在运行时优先。
- 修改/ apps中的配置将立即生效。
- 修改/ libs中的配置将立即生效,除非它被/ apps中的配置屏蔽。
这可以解释为什么正在挑选OSGI控制台中完成的配置更改而不是/ apps中的更改。
答案 1 :(得分:0)
使用以下优先顺序:
Repository nodes under /apps/*/config....either with type sling:OsgiConfig or property files (CHECK) Repository nodes with type sling:OsgiConfig under /libs/*/config.... (ootb defns) Any .config files from /crx-quickstart/launchpad/config/.... on the local file system. This means that a generic configuration in /libs can be masked by a project specific configuration in /apps.
在CQ5中。在felix控制台中进行的任何更改都会修改具有最高优先级的配置文件。
例如
/ apps / * / config你有一个“org.apache.sling.security.impl.ReferrerFilter.config”文件
您可以通过felix控制台修改Apache Sling Referrer Filter
/ apps / * / config下的配置文件“org.apache.sling.security.impl.ReferrerFilter.config”将使用刚刚在felix控制台中输入的值进行修改。
答案 2 :(得分:0)
运行时的解决方案订单
系统运行时进行的配置更改会触发使用修改后的配置重新加载。
然后适用以下优先顺序:
启动时的分辨率顺序
/ apps / * / config 下的存储库节点... ..使用类型吊索:OsgiConfig或属性文件
类型为sling的存储库节点: / libs / * / config 下的OsgiConfig .... (OOTB)
本地文件系统 / crx-quickstart / launchpad / config / ...中的任何 .config 文件