Hi all, I am currently integrating support for Configuration Admin Service into the Felix Declarative Service implementation (o.a.f.scr). This includes providing the configuration from Configuration Admin to the component.
The issue I stumbled upon is the question of how to get at the configuration to be provided to components. There are two ways to get these: (1) call ConfigurationAdmin.getConfiguration(String pid) and (2) register a ManagedService and have its updated(Dictionary) method called (I assume the ManagedFactory situation is comparable, hence I ignore it for now). The problem with the first method is, that the ConfigurationPlugins are not called (I interpret this from the sentence "If a bundle needs to force a Configuration plugin service to be called again, it must fetch the appropriate Configuration object from the Configuration Admin Service and call the update() method (the no parameter version) on this object" in Section 104.9.4, Forcing a Callback). The problem with the second method is, that the configuration update must be executed asynchronously. What shall I do in the SCR ? Should I ignore the Configuration Plugin services and use the "simple" getConfiguration method or do I have to support this (nasty) asynchronous situation ? What is the intention of the Specification here ? Thanks alot for any clarifications. Regards Felix