[ 
https://issues.apache.org/jira/browse/SLING-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14352935#comment-14352935
 ] 

Marius Petria commented on SLING-4312:
--------------------------------------

Hi [~fmeschbe]

I think your points are fine, one I would like to comment though. 
ServiceUserMapping.getSubServiceName() is useful if a component takes the 
subServiceName as a parameter via an osgi config. You would need to provide the 
subServiceName to bind the ServiceUserMapping 
(mapping.target=(subServiceName=dedicatedUserService)) and again as a dedicated 
OSGI config property (componentSubServiceName=dedicatedUserService). That 
redundancy can be avoided by being able to query the mapping for the mapped 
subServiceName.

Can you also share your thoughts on the relation with SLING-4461? One issue 
with the current implementation of this marker interface is that it cannot 
accurately represent the fact that a call to ServiceUserMapper.getServiceUserID 
will succeed if and only if a mapping is registered. That happens because of 
fallback mappings. More exactly consumer components that bind to a specific 
subServiceName will not be started even if a default has been configured. That 
breaks the separation of concerns, meaning that an "administrator" is forced to 
configure the service users in a particular way (not using the fallbacks). 
SLING-4461 proposes to drop the fallbacks but that will introduce a breaking 
change. WDYT?

> Register an osgi service for each available service user 
> ---------------------------------------------------------
>
>                 Key: SLING-4312
>                 URL: https://issues.apache.org/jira/browse/SLING-4312
>             Project: Sling
>          Issue Type: Improvement
>          Components: Service User Mapper
>            Reporter: Marius Petria
>            Assignee: Marius Petria
>             Fix For: Service User Mapper 1.1.2
>
>         Attachments: SLING-4312.1.diff, SLING-4312.diff
>
>
> In order to only activate osgi components when a service user mapping is 
> available it would be useful to have an osgi service registered for a service 
> user. A component can reference the registered service name and only start 
> when that becomes available.
> {code}
> @Reference(target="(name=serviceName)")
> ServiceUserExists userExists;
> {code}
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to