Am 20.02.15 um 18:53 schrieb Marius Petria:
> Hi,
> 
> I discovered an issue related to service users. Due to the indeterminism 
> of OSGI a consumer of ServiceUserMapper cannot be sure that 
> getServiceUserID will find a registered mapping even if that mapping has 
> been configured. For example if a component starts roughly at the same 
> time as the mapping is installed it can happen that the calls the 
> component makes to loginService to fail. More concretely that can happen 
> for example if one needs a session in an activate method to register jcr 
> event listener, or to read some configuration properties from the 
> repository.
> 
> In order to make this behavior more predictable I created an issue [1] 
> proposing to always register an osgi service (I called it 
> ServiceUserMapping) right after a mapping is installed, such that consumer 
> components can reference it and wait for the mapping to be available. I 
> also worked out an implementation in [2].
> 
> First, I would like to ask you if you think the problem is valid and if 
> the approach is correct?
> Second, it will be really helpful if you can also comment on the issue 
> around the provided implementation.
> 
In OSGi you should declare your dependencies, which means for components,
the only option you have is requiring services. Therefore translating
the above problem into service dependencies is imho the right way.

Carsten

-- 
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org

Reply via email to