通过felix控制台进行的更改比应用程序和库更优先吗?

时间:2014-11-19 19:16:43

标签: cq5 apache-felix

场景:/ libs / * / config和/ apps / * / config下存在相同的配置参数,并在两个位置以及Felix控制台中进行了修改。

在运行期间,不知何故Felix控制台配置优先。怎么样?我的理解是/ apps应该优先。任何观点。

3 个答案:

答案 0 :(得分:3)

你是对的。看到 http://docs.adobe.com/docs/en/cq/current/deploying/configuring_osgi.html#Configuration%20Details声明:

  

使用以下优先顺序:

     
      
  1. /apps/*/config下的存储库节点,类型为sling:OsgiConfig或属性文件(CHECK)
  2.   
  3. 类型为sling的存储库节点:/ libs / * / config ....下的OsgiConfig(ootb defns)
  4.   
  5. 本地文件系统上来自/ crx-quickstart / launchpad / config / ....的任何.config文件。
  6.         

    这意味着/ 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)

运行时的解决方案订单

系统运行时进行的配置更改会触发使用修改后的配置重新加载。

然后适用以下优先顺序:

  1. 修改 Web控制台中的配置将立即生效,因为它在运行时优先。
  2. 修改 / apps 中的配置会立即生效。
  3. 修改 / libs 中的配置将立即生效,除非它被 / apps 中的配置屏蔽。
  4. 启动时的分辨率顺序

    1. / apps / * / config 下的存储库节点... ..使用类型吊索:OsgiConfig或属性文件

    2. 类型为sling的存储库节点: / libs / * / config 下的OsgiConfig .... (OOTB)

    3. 本地文件系统 / crx-quickstart / launchpad / config / ...中的任何 .config 文件