CQ5.3: Changed loading order of configuration in Felix


Through Apache Felix, CQ5 and other parts of the system are configurable via Felix's Configuration Admin Service which allows for easy management of settings, applicable even during runtime. Starting from CQ5.3, the loading order of such configuration has changed in contrast to CQ versions < 5.3.

Answer, Resolution

Depending on the location where configuration is stored, the order of configuration applied varies. Apache Sling provides the JCR Installer module [1] which is capable of reading configuration directly from the repository. Such configuration nodes have to be of nodetype sling:OsgiConfig to be recognized by JCRInstall.

Following is the loading order of configuration that is applied, priority top-down:

  • /apps
  • /libs
  • filesystem below crx-quickstart/launchpad/config

This means that a configuration found beneath /apps overrides one - usually provided out-of-the-box - in /libs and one on the filesystem.

Please note: saving configuration directly via the Felix Console is stored in the filesystem, not in the repository. This is also the case if a repository-based configuration is modified via the Felix Console: these changes are not saved back into the repository and will not be applied on the next restart of the system.



[1] http://sling.apache.org/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html