{ops4j-style-page}

The central piece is the Configuration Admin Service, that beside implementing the OSGi specification it is itself dynamically assembled from the installed configuration providers, persisters and selectors. And does all of this in a dynamic way meaning that you can add/remove/update any of them at runtime triggering system re-configuration. The provider themselves are also dynamic as for example in the case of File System Provider when a modification of a configuration file will trigger an update of the configuration for the targeted managed service (factory).

h5. Configuration Provider
Configuration providers are the source of configuration properties for the registered _ManagedService_ and _ManagedServiceFactory_.

h5. Configuration Persister
Configuration persisters, as you may guessed, store created / updated configurations.

h5. Configuration Selector
As there can be more configurations available at the same time for the same configuration target (same  persistent identifier = PID), configuration selector role is to _select_ / _choose_ the one to be considered active. The default selector will select configurations by their time stamp.

h5. Properties Adapters
The role of [properties adapters|Pax Coin - Configuration Formats] is to transform divers sources of configuration properties into a simple {{Map}} of property names -> values.