On Tue, 2013-04-02 at 14:39 -0500, David M. Lloyd wrote:
On 04/02/2013 01:57 PM, Eduardo Martins wrote:
> On Tue, 2013-04-02 at 08:47 +1100, Stuart Douglas wrote:
>>>
>>> 4. Other issues
>>>
>>> There are other issues, for instance rebind does unbind+bind, and this would
mean that any state (such as env on the old entry) is lost, msc deps get screwed, etc. but
I did not check these with testing yet, and we can probably target these later.
>>
>> I am not sure what you mean here.
>
> This is actually a bug I think, on rebind we do unbind and then bind,
> which means get the existent msc service controller and stop it
> (unbind), and then install a new msc service (bind). Shouldn't instead
> we just replace the managed ref factory within the existent service?
No. The injection source could have different dependencies;
dependencies may not be changed on a service (at least not in 1.x). We
must remove the service and add a new one.
I am missing something, there are no dependencies to apply to the new
msc service here, it is just a BinderService created within the store
bind() code, and the managed ref factory is just a
ValueManagedReferenceFactory(new ImmediateValue<Object>(newvalue))).
Also, stopping the original service, what effect does it have if there
is another msc dep on it?
--E