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]

Reply via email to