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

Carsten Ziegeler updated SLING-3279:
------------------------------------

    Attachment: SLING-3279-combined-7.patch

Updated patch with minor chnages (coding style mostly)

> Leverage improved observation support from Oak
> ----------------------------------------------
>
>                 Key: SLING-3279
>                 URL: https://issues.apache.org/jira/browse/SLING-3279
>             Project: Sling
>          Issue Type: Improvement
>          Components: JCR
>            Reporter: Michael Dürig
>            Assignee: Carsten Ziegeler
>         Attachments: SLING-3279-combined-2.patch, 
> SLING-3279-combined-3.patch, SLING-3279-combined-4.patch, 
> SLING-3279-combined-5.patch, SLING-3279-combined-6.patch, 
> SLING-3279-combined-7.patch, SLING-3279-combined.patch, SLING-3279.patch
>
>
> OAK-1120 introduces better support for observation, which could be used by 
> Sling. For example JcrResourceListener could be rewritten leveraging Oak's 
> Observer. Since Oak observers already run on background threads further 
> decoupling (like it is currently done) is not necessary. This makes it 
> unnecessary to queue potentially a lot of events in Sling. Since neither Oak 
> there does queue events (they are generated by need) this will probably 
> greatly improve scalability in the face of many events. 
> Furthermore OSGi filters could be passed down and translated to Oak such that 
> filtering is done much closer to the source of the events. 
> Finally instead of using a centralised event dispatcher (like 
> JcrResourceListener  currently is) it would be better to install a dedicated 
> Observer for each OSGi event listener since dispatching is already handled by 
> Oak and thread pooling (i.e. assigning threads for dispatching call backs to 
> observers) can be controlled through Sling's thread pool support (*). This 
> has the further advantage of making individual stats available for the 
> listeners through JMX.
> (*) Register an OakExecutor backed by e.g. a Sling thread pool and it will be 
> picked up by Oak.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to