Hi,

BJ Hargrave schrieb:
>> Hmm. Interesting. Now, this has confusing consequences.
>>
>> Consider the following case.
>>
>>   (1) Two Services serviceA registered (call it s1 and s2)
>>   (2) Component C with statically bound serviceA reference with
>>         0..n is activated:
>>         -> Services s1 and s2 are bound
>>   (3) serviceA type service s3 is registered but *not* bound to
>>         Component C
>>   (4) serviceA type service s1 is unregistered
>>         -> Component C has to be deactivated to unbind s1
>>
>> Is step (4) correct ? I assume, yes.
> 
> Yes.
> 
>>
>> But, what now ?
>>
>>   (a) C remains deactivated
>>   (b) C is activated again with just s2 bound
>>   (c) s2 remains bound, s3 is newly bound and C is activated
>>
>> Which of these options is the intended behaviour ?
>>
>> BTW: Felix DS currently deactivates C to bind s3 upon registration and
>> then reactivates C again. Likewise Felix DS implements option (c).
>>
> 
> None of these are correct. The correct answer is that the C instance
> deactivated in (4) is discarded and that object is *never* used again by
> DS. Since s2 and s3 are present, the reference is still satisfied and a
> *new* C instance is created, bound to s2 and s3 and then activated.

Thanks for the clarification. This is what I intended to say with the
possibly oversimplificated option (c). Sorry for the confusion.

Regards
Felix

> 
> From the DS spec: "Once the component configuration is deactivated, SCR
> must discard all ref-
> erences to the component instance and component context associated with
> the activation."
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to