You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Tommaso Teofili (JIRA)" <ji...@apache.org> on 2012/08/28 16:07:09 UTC

[jira] [Updated] (SLING-2523) Improve the JCR Installer

     [ https://issues.apache.org/jira/browse/SLING-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tommaso Teofili updated SLING-2523:
-----------------------------------

    Attachment: SLING-2523_1.patch

first version of a patch using a single observation listener.
Also the UpdateHandler has been refactored out to a delegated class and some of the previously used classes which are not used anymore (i.e. WatchedFolder) have been removed.
Still to be done: collecting possibly related changes in one single change to avoid installing the same resource multiple times (e.g. an OsgiConfig which many properties changing at the same time).
                
> Improve the JCR Installer
> -------------------------
>
>                 Key: SLING-2523
>                 URL: https://issues.apache.org/jira/browse/SLING-2523
>             Project: Sling
>          Issue Type: Improvement
>          Components: Installer
>    Affects Versions: JCR Installer 3.1.4
>            Reporter: Carsten Ziegeler
>         Attachments: SLING-2523_1.patch
>
>
> The current implementation has some drawbacks: 
> - it registers several observation listeners
> - to handle deletes it has to register even more listeners
> - observation events are just used as markers and there is a polling thread running continously to check for changed markers and then rescan a sub tree in the repository
> - changes are not reported to the OSGi installer in one method call
> I think we can simplify and improve the implementation by
> - just registering a single observation listener for root and then do simple path matching operations
> - use the observation events to detect what has changed
> - report the changes in a single method call
> In addition it would be nice if the jcr installer waits befire reporting changes from an observation event and looks if there is not another observation event coming in "right after". This could improve situations where changes are not done by a single save but by a serious of saves

--
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