You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2013/08/25 01:53:52 UTC
[jira] [Commented] (SLING-2076) Make MapEntries more dynamic
[ https://issues.apache.org/jira/browse/SLING-2076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13749500#comment-13749500 ]
Carsten Ziegeler commented on SLING-2076:
-----------------------------------------
I think the provider approach is not suited for this case - the different mappings have to be aggregated/merged by the implementation in order to call them in a meaningfull order (longest match first). In addition, mappings might change at any time. If we would use the provider approach, we would have to call all providers each time a mapping is handled, merge the results and apply the mappings. This doesn't sound like a fast solution.
Of course a provider could indicate whether it has changed since the last time, but still, once a provider a changes, this will block all map handling until the list of mappings is updated.
The current implementation uses an async background thread avoiding any blocking.
Therefore I think we should do an inverse approach: we define a manager like service (don't have a good name yet), which can be called by providers (provider is not an interface) whenever the provider has an update. The provider uses an identififer together with the new set of mappings. So basically this is the same way the OSGi installer works today, where providers inform the installer about changes.
In this case we can do the processing in the background inside the manager, and simply switch to the new mapping once the calculation is done
> Make MapEntries more dynamic
> ----------------------------
>
> Key: SLING-2076
> URL: https://issues.apache.org/jira/browse/SLING-2076
> Project: Sling
> Issue Type: Improvement
> Components: ResourceResolver
> Affects Versions: JCR Resource 2.0.10
> Reporter: Vidar S. Ramdal
> Assignee: Vidar S. Ramdal
>
> In some scenarios it would be nice to be able to store mapping specs other places than under /etc/map (for instance scattered around the repository/resource tree, or in an external XML file).
> It would be better if the entire map specification was provided by a separate service. The current MapEntries would act as the default implementation.
> Mailing list discussion: http://markmail.org/thread/5ww634sqarxtudks
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira