Hi,

Am 26.02.2013 um 21:19 schrieb David Jencks:

> I was looking at the code for ManagedServiceTracker.modifiedService and it 
> looks odd to me.  Before I spend a lot of time verifying what does happen I 
> thought I should ask about what should happen :-)
> 
> Lets say you have a MS registered with pids {1, 2} and you change the service 
> registration so its interested in pids {2, 3} and there are existing configs 
> for 1, 2, 3.  What should happen?
> 
> I think that:
> 
> -- MS stops getting updates for pid 1

Yes

> -- continues to get updates for changes to pid 2, but does not receive an 
> update for the existing config for pid 2 (it already got one

Yes

> -- gets an update with the current state of the existing config for pid 3

Yes

> 
> Is this what should happen?  The code looks to me like MS will get an update 
> for the existing config for pid 2, which would be a duplicate notification.  
> As I said, I didn't check that this is what happens, its just based on 
> looking at the code.

Before actually supplying the configuration, the ConfigurationMap.shallTake 
method is called which makes sure the configuration to be supplied has a higher 
revision counter than any configuration of the same PID already supplied.

So, no, pid2 is only applied once.

I have just added a test case to verify that.

Regards
Felix

> 
> thanks!
> david jencks
> 


--
Felix Meschberger | Principal Scientist | Adobe







Reply via email to