Hi Peter, On Thu, Mar 20, 2014 at 4:32 PM, Peter Kriens <[email protected]> wrote: > ...The migrator depends on the raw service and registers a delegate service > after it has > migrated the database. You can easily make a pipeline like this. A simple > service property > will do the trick. In DS it is easy to use the target filter (that can be set > by config admin > so you code is ignorant of the fact) to manage the pipeline. > > db -> migrator -> client ...
Looks very cool, I agree. But how do you hide the raw db service from existing clients that currently get it via an @Reference annotation with no specific filter? My understanding is that a DS client that does not specify a filter will get the first service that provides the corresponding interface, so as soon as the raw db is available, those clients will see it. I'm probably missing something...by "can be set by config admin" do you mean that I can setup a default filter so that clients with no filter only see the delegate service that the migrator registers, because that delegate will have something like a visibleTo=allClients service property? > ...In general you make things surprisingly complex once you step outside the > standard service dependency model.... Absolutely agree, so if your suggestion works without any changes to existing clients that's fantastic. -Bertrand --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

